Deterministic budgets
--budget quick|standard|deep|overnight|auto expands into hard token, turn, and wall-clock caps. Raw token numbers still work for advanced tuning. The hook math is plain SQLite — no model in the loop deciding when to stop.
claude-goal drives the Claude Code agent through an autonomous loop until a goal is provably met. You set an objective with /goal-start or explicitly ask Claude to “set up a goal”; the plugin self-iterates each turn through a Stop-hook continuation; a tool-equipped evaluator subagent checks completion — not by trusting the worker’s self-narrative, but by running tests, reading files, and checking exit codes.
It’s the production-grade companion to Claude Code 2.1.139+‘s built-in /goal — adding deterministic budgets, lifecycle controls, /compact recovery, persistence across restarts, and a real verifier.
/plugin marketplace add nuko-nova-dynamics/claude-marketplace/plugin install claude-goal@nuko-nova-toolsgit clone https://github.com/nuko-nova-dynamics/claude-goal.gitcd claude-goal(cd mcp/goal-server && npm ci && npm run build)claude --plugin-dir "$PWD"mkdir -p ~/.claude/plugins/local/claude-goaltar -xzf claude-goal-v0.2.9.tar.gz \ -C ~/.claude/plugins/local/claude-goalclaude --plugin-dir ~/.claude/plugins/local/claude-goalDeterministic budgets
--budget quick|standard|deep|overnight|auto expands into hard token, turn, and wall-clock caps. Raw token numbers still work for advanced tuning. The hook math is plain SQLite — no model in the loop deciding when to stop.
Tool-equipped evaluator
The completion check runs as a fresh-context subagent with Bash, Read, and sqlite3. It verifies with evidence, not optimistic transcript language.
Lifecycle controls
Pause, resume, abandon, extend. Caps for turns and wall-clock. All persisted in SQLite — survives claude restart and --resume.
`/compact` recovery
When Claude Code rewrites the transcript, the goal flips to accounting_uncertain. /goal-reconcile --accept-reset advances cleanly. No silent token drift.
Independent verifier
Worker self-audit AND evaluator. Distinct completion events (goal_completed_by_evaluator vs goal_completed_by_self_update) so post-hoc audit can tell them apart.
Plays well with native `/goal`
Compatible with Claude Code 2.1.139+‘s built-in /goal. The two coexist — use the native one for casual conditions, this one when budgets and persistence matter.
/goal-start "list every .ts file under src/ and print a line count for each"Or ask directly:
set up a goal to list every .ts file under src/ and print a line count for eachClaude confirms the goal, begins working, and the Stop hook feeds it a continuation prompt at the end of each turn. When the objective is met, it dispatches the evaluator subagent for verification, then calls update_goal and stops.
For a bounded run, pick a profile instead of doing token math:
/goal-start "refactor the auth module to use async/await" --budget standardstandard gives the run 10M tokens, 200 continuations, and 8 hours. Omit --budget on /goal-start, or omit budget wording in explicit prose, for practical-unlimited token, turn, and wall-clock budget. Use auto only when you explicitly want deterministic profile selection. See Budgets and caps for the full profile table.