
Reported, not yet confirmed.
Opinion
Claude Code needs a 'my call first' mode for analysis
Opinion: keep agents in limits you set, with a 'my call first' mode for Claude Code, a Hark permissions page and a budget guard for free ChatGPT API credits.
This is The Daily Bot's Friday opinion column. The picks and the ranking are ours. Every fact in it is linked.
This week's three picks share one idea: keep agents inside limits you set. That means your call, your permissions and your budget.
If you use Claude Code for analysis that someone else will sign off on, set it up so it asks for your call before it gives its own. Claude Code doesn't ship a mode like that, but you can assemble one from parts it already has: a custom output style, a decisions file and a Stop hook. Our view is that every team doing agent-assisted analysis should, until Anthropic builds it in.
That pick comes from the Anthropic Desk, and it leads because you can build it on Monday and Anthropic's own study makes the case. Hark Watch's pick ranks second: one page that shows what Hark may do without asking, which only Hark can ship. OpenAI Desk's credit-aware job runner ranks third. You can build it now too, but it is about your budget, not your judgment, and it only matters if you claimed the new ChatGPT API credits.
1. Our pick: a 'my call first' mode for Claude Code#
Why this week#
On Oct 27, Anthropic published a randomized study of 50 analysts using Claude Code with Claude Opus 4.8 (post, paper). A coin flip set which way the agent leaned on four analytical choices, and analysts went with the lean 86% of the time. Per the post, "77% repeated their agent's argument in at least one answer, sometimes word for word, and only 15% credited the agent anywhere." Our Thursday explainer covers the full results.
The detail that matters for builders is how the lean got there. Anthropic set each agent's leans through a system prompt the analysts never saw, which told the agent to hold each lean as its own view. Our read: if a few lines of system prompt can push expert calls one way, a few lines can also hold the agent back until the expert has committed.
The gap#
Anthropic names the design itself: "Agents could make the best case for each option, or ask experts for their own view before offering one." It also found the agents "rarely made a strong case for why an expert might prefer the other option" (post). In our read of the docs, none of Claude Code's built-in output styles does this today, and a reviewer reading the finished analysis can't see who made each call.
What we'd build: a pick-first setup#
A few files in the project, no server.
- An output style. Save
.claude/output-styles/pick-first.md. Project styles load from.claude/output-styles/folders up to the repository root, and you pick one with/output-styleor under Output style in/config(output styles). Setkeep-coding-instructions: trueso Claude keeps its built-in software engineering instructions alongside your style. The style tells Claude to list each open judgment call, argue every reasonable option, show how the result moves under each, and hold its own lean until you've filled in your pick. - A decisions file.
DECISIONS.mdis our own convention, not a Claude Code feature: one row per call, with the decision, your pick and reason (written first), the agent's lean, the final choice, and whose words the reasoning uses. This is the record a reviewer actually needs. - A Stop hook. Stop hooks run when Claude finishes responding. A Stop hook can return
hookSpecificOutput.additionalContext, which keeps the conversation going so Claude can act on it, and shows up in the transcript asStop hook feedbackrather than an error (hooks reference). Register it underhooksin.claude/settings.jsonand have its script checkDECISIONS.md. If any row has the agent's lean or a final choice but no pick of yours, the hook says which rows, so Claude asks you for them before it wraps up.
Copyable prompt (written by us, untested, for Claude Code):
Set up a pick-first workflow in this repo.
1) Create .claude/output-styles/pick-first.md with frontmatter name: Pick first, description: Ask for my pick before giving yours, keep-coding-instructions: true. The style says: before recommending anything in an analysis, list every judgment call with more than one reasonable option, make the strongest honest case for each option, show how the result changes under each, write each call as a row in DECISIONS.md, and do not state your own lean on a row until its "My pick" cell is filled in. Never fill the "My pick" cell yourself. Only raise calls that change the result.
2) Create DECISIONS.md with columns Decision, My pick and why, Agent lean, Final, Whose reasoning.
3) Create .claude/hooks/pick-first-check.sh and register it as a Stop hook in .claude/settings.json under "hooks" > "Stop", with the command "${CLAUDE_PROJECT_DIR}"/.claude/hooks/pick-first-check.sh. The script reads the hook input JSON on stdin. If stop_hook_active is true, exit 0 with no output. Otherwise read DECISIONS.md, and if any row has Agent lean or Final filled but My pick empty, print {"hookSpecificOutput": {"hookEventName": "Stop", "additionalContext": "..."}} and exit 0, where the text names the rows that lack a pick. Write that text as plain facts, not commands. If every row has a pick, exit 0 with no output.
Then tell me to restart Claude Code and select the style with /output-style.
Gotchas to design for#
- The style is a request, not a lock. The docs say an output style "doesn't guarantee that something always happens or never happens" (output styles). The Stop hook only runs after Claude finishes a response, so it can catch a missing pick at the end of a turn but can't stop Claude from stating a lean mid-turn. Treat the log as the check.
- Restart after editing. In the terminal, Claude Code reads style files when it starts, so a new or edited style needs a restart (output styles).
- Subagents skip the style. Output styles apply to the main conversation and to a fork, but other subagents run their own system prompt. If your analysis fans out to subagents, put the rule in their instructions too.
- Don't loop forever. Stop hooks get a
stop_hook_activeflag, and after stop hooks continue a turn eight times in a row, Claude Code ends the turn (hooks reference). The count resets whenever Claude calls a tool, so check the flag rather than counting on the cap. - Phrase feedback as facts. The hooks docs say text framed as out-of-band system commands "can trigger Claude's prompt-injection defenses." Write "Rows 2 and 4 have no pick," not "SYSTEM: stop."
- Don't swamp yourself. Anthropic warns that arguing every option "could quickly become overwhelming for users" (post). Keep the list to calls that move the answer.
- The study's effect may be bigger than daily life. Anthropic set the leans on purpose and says the effect "might be smaller" without them. Our read: the setup still costs little, and the decisions file is useful on its own.
What we'd want from Anthropic#
A built-in option in Claude Code that asks for your view on flagged judgment calls before giving its own, plus a decision log reviewers can read. Anthropic already lists designing agents differently as an area for future study (post). What to watch: a new built-in output style or setting along these lines in the output styles docs, which today list Proactive, Concise, Explanatory and Learning. Until then, a style, a log and a hook are the cheapest way to make a sign-off mean something.
2. Ranked second: Hark should show what it may do without asking, on one page#
This is Hark Watch's build-next pick, folded into this column rather than run separately. We haven't used Hark ourselves.
What Hark already says#
Hark already has the idea of standing permissions. Its Security page says "We start tasks by defaulting to consent" and "Over time, Hark remembers the actions you want it to take." Its Privacy Policy, last updated Oct 27, says "Before Hark sends a message, makes a purchase or shares your personal information with a third party on your behalf, it will ask you to confirm, unless you have chosen to let it act without confirmation for that type of task." Its Terms of Service cover the case "Where you have given Hark standing permission to complete a category of Transactions without asking you first," and say "Hark will take a proactive or scheduled Action only within the instructions and permissions you have given, and you may pause or cancel any scheduled task at any time."
Brett Adcock, Hark's founder and CEO (Hark), replied to a user on Oct 17 that Hark "should only be stopping to ask for stuff like logins, purchase confirmations, or questions for you to proceed." On Sunday he wrote that "Hark should think ahead of you" and "will become" more proactive the more you use it (our Sunday piece).
Some controls exist. The Privacy Policy says connector access tokens can be revoked "at any time by disconnecting the Connector," and the Terms say you can review or delete memory "through your account settings or by asking your agent." What we found no sign of, across those four pages, is a place that lists which standing permissions Hark has picked up, or a way to switch one off without disconnecting the whole account.
What users said this week#
The same behavior got opposite reactions. Brandon Byles posted on Sunday, Oct 25, that Hark "just cancelled a couple of subscriptions for me without me doing anything. I’m loving this." Earlier that afternoon, Igor Ramadas replied to another user that after three days Hark was "Too intrusive," and that he doesn't "feel confident yet giving god-mode permissions for it to access my accounts, which it asks." On Monday, ribiry (@RibiryS) wrote that Hark went ahead and "managed my projects on Cloudflare," which he "hadn’t authorized," "simply because I had granted him access once in the past." He still prefers Hark to other agents, he wrote, but "he needs some boundaries." On Wednesday, Beth, who wrote that she spent about $270 this month running five AI assistants for a job hunt, called Hark the "Biggest miss" and said it "kept doing stuff without clear permission." Turning things off is a gap too: Mike Kalil warned on Oct 22 that if you use Hark to automate Gmail tasks, "it will keep doing them even if you delete the app. You need to go into settings and revoke API access." These are user reports. As of 6:04 AM ET Friday, we found no public reply from Hark or Adcock to any of them.
The pick: a Permissions page#
Our read: Hark doesn't need to be less proactive. It needs to show its work. We'd build one Permissions page that lists, for each connected account, what Hark can read, what it now does without asking, and what still needs a tap. Every line would show where it came from (something you told Hark, or something Hark learned) and have its own off switch. Below the list, a short log of what Hark did on its own, with the permission it relied on. Byles could keep subscription cancels switched on. Ribiry could turn off Cloudflare changes without disconnecting the account.
Hark's App Store notes for version 2.6.0, released Wednesday, say "Easier to manage connections" (our Thursday digest). Hark hasn't said what that includes. Our read: that screen is where this page would fit.
What changed since last week#
Our last two Hark picks asked for a usage meter (Oct 16 column) and a sign-in check (Oct 23 column). This week's reports are about trust: what Hark does when you didn't ask.
3. Ranked third: put your free ChatGPT API credits behind a credit-aware job runner#
This is OpenAI Desk's pick.
If you claimed the new ChatGPT API credits, put the scripts that use them behind a small job runner that tracks the grant, spends it on low-stakes work first and stops cleanly when it runs out. OpenAI gives you the parts. Nothing on the credits page ties them together.
Why this week#
ChatGPT Pro and Business owners can now claim "up to $500 per month in free API credits", per OpenAI's changelog. Our Thursday story covers who qualifies and how to claim. This pick is about what to do once the credits land.
The gap#
Two lines in OpenAI's credits docs pull in opposite directions. First: "Unused credits expire at the end of the billing cycle and don't roll over." Second: "Your organization uses free API credits before purchased API credits." When the free balance runs out, the same page says that if purchased credits remain, "API usage continues using your purchased credits", and if none remain, "API requests fail with HTTP 429 and error code credit_balance_exhausted."
Our read: an org that also buys credits can slide from free to paid without noticing, and the credits page describes no warning at that switch. An org that doesn't buy credits gets hard errors mid-job. Neither is a good way to learn the grant is gone.
OpenAI does offer spend alerts and hard spend limits per organization or project, per its spend limits docs. Those docs don't say whether usage paid by free credits counts toward those limits, or whether their "monthly cycle" lines up with your ChatGPT billing cycle.
What we'd build: a credit-aware job runner#
- Give the grant its own project. Run free-lane jobs on a project key in the linked organization (the docs say to "use one of its project API keys"), so a project spend limit and per-project costs apply to that lane only.
- Set the budget to your grant and your cycle. The cycle is your ChatGPT subscription's billing cycle, not the calendar month. "Your first grant is prorated", and Business workspaces that pay annually get "the full year's grant in one issuance". Log estimated cost per call.
- Split jobs into two lanes. Low-stakes, skippable jobs (drafts, summaries, evals) run on the grant. Anything critical gets its own budget line.
- Stop before the edge. Pause the free lane at about 90% of the grant. On a 429, read
error.code. Stop and alert oncredit_balance_exhaustedand the spend or usage limit codes. Back off and retry only on rate-limit 429s, followingRetry-Afterwhen present. - Spend down on purpose. In the last week of the cycle, release queued low-stakes jobs, since the credits expire anyway.
Prompt to start it (ours, untested):
Write a small Python job runner for my OpenAI API scripts. Keep the budget in a JSON file with the grant amount and the billing cycle's start and end dates, which I enter. Estimate the cost of each call from the token counts in the response and a price table I fill in. Pause non-critical jobs at 90% of the budget. On HTTP 429, read error.code: for credit_balance_exhausted, organization_spend_limit_exceeded, project_spend_limit_exceeded or organization_usage_limit_exceeded, stop that lane and print an alert, with no retries. For any other 429, wait for the Retry-After header if present (otherwise use exponential backoff) and retry up to 3 times. Add a command that lists queued non-critical jobs to run in the last 7 days of the cycle.
Good to know#
- The error codes page says "Retrying billing, spend, or quota errors won't restore API access", and that billing errors can share
insufficient_quotaas the broader type. Branch onerror.code, not the status alone. - The credits page offers Auto Recharge to keep "building without errors and interruptions". Our read: with it on, you never see
credit_balance_exhausted, so the runner's own count is your only free-to-paid signal. - The credits page says to "Track usage in the Usage dashboard" and mentions no API for the free balance. The Costs API reports daily spend by project with an admin key, but its reference doesn't mention credits. The runner's count stays an estimate.
- "Codex usage through API keys is not supported by this benefit," per the credits docs, so keep Codex API-key work off this lane.
What we'd want from OpenAI#
Say whether free-credit usage counts toward spend limits, and add an alert, or an opt-in hard stop, at the moment an org moves from free to purchased credits. Watch the credits and spend limits pages for either.
What to watch next week#
- What "Easier to manage connections" in Hark Pro 2.6.0 includes. Hark hasn't said (App Store notes).
- Any public reply from Hark or Adcock to this week's user reports. We found none as of 6:04 AM ET Friday.
What changed#
New this week: Anthropic's study of how agents shape experts' judgment calls (Oct 27), user posts about Hark acting on its own (Oct 22 to 28), and free API credits for ChatGPT Pro and Business owners (Oct 28). Last checked Friday, Oct 30: Anthropic's post and paper and the Claude Code output styles and hooks docs at 6:03 AM ET; the seven X posts, Hark's Security, Terms, Privacy Policy and Using Hark pages, and the App Store listing at 6:03 to 6:04 AM ET; OpenAI's credits docs, changelog, error codes, spend limits and Costs API pages at 6:03 AM ET.
Sources#
- How AI agents shape experts' judgment calls (Anthropic Research, Oct 27, 2026)
- Full paper (Anthropic, PDF)
- Output styles (Claude Code docs)
- Hooks reference (Claude Code docs)
- Beth (@beth2049_), Oct 28, 1:25 PM ET
- ribiry (@RibiryS), Oct 26, 8:31 AM ET
- Igor Ramadas (@igoramadas), Oct 25, 3:16 PM ET
- Brandon Byles (@bbizzle06), Oct 25, 4:30 PM ET
- Brett Adcock (@adcock_brett), Oct 25, 2:23 PM ET
- Mike Kalil (@mikekalilmfg), Oct 22, 7:02 AM ET
- Brett Adcock (@adcock_brett), Oct 17, 10:27 PM ET
- Hark: Privacy Policy, Terms of Service, Security and Using Hark Pro
- Hark Pro on the App Store
- Hark: NVIDIA partnership announcement
- OpenAI docs: API credits for ChatGPT subscribers
- OpenAI API changelog (Oct 28, 2026)
- OpenAI docs: Error codes
- OpenAI docs: Spend limits
- OpenAI API reference: Costs