Raise the /goal condition character limit (currently 4000) or allow a file reference

Status Open
Maintainer reply None cached
Activity 1 comment · opened Aug 8, 2026

What happened

/goal rejects conditions over 4000 characters:

Goal condition is limited to 4000 characters (got 6078)

The rejection happens on submit, after the goal text has already been composed and pasted — so the cost lands at the worst moment.

Why the limit binds

/goal is most valuable for long-running autonomous work, and a goal that can safely drive that kind of session is not a one-liner. Ours (a multi-service production migration) needs, irreducibly:

  • 7 targets, each naming a checkable artifact — ticket ids, commit SHAs, image digests — because "a claim without an artifact path is not a claim".
  • A permission envelope separating what the agent may do autonomously (dev rolls, dry-runs, read-only prod queries) from what requires a human (merges, force-pushes, staging rolls, any production mutation, executing a data migration). This is the safety boundary; it cannot be abbreviated into vagueness.
  • Stop rules, including one sequencing rule that prevents a self-inflicted outage: rehearse the rollback before running a migration that invalidates the rollback target.

That came to 6078 characters. Trimming to fit cost a round trip and forced dropping the rationale for several rules — which is exactly the part that keeps a rule from being "optimized away" by a future reader (agent or human) who does not know why it exists.

Requests, in preference order

  1. Raise the cap — 16k would comfortably cover operational goals of this shape.
  2. Allow a file reference, e.g. /goal @path/to/goal.md, so the goal can live in version control next to the runbook it enforces, be reviewed like code, and be reused across sessions.
  3. Failing both: validate early and helpfully — surface the limit before composition (in /goal's help text) and report the overage with the current count, e.g. "6078/4000 — trim ~2100 characters".

Workaround in use

Keep the goal at ~3800 characters and push detail into a referenced document, treating the goal as the contract and the doc as the explanation. It works, but the enforcement and the reasoning end up in different places, which is precisely what you don't want for safety-relevant instructions.

Environment

Claude Code desktop app, Opus 5, macOS (Darwin 25.6.0).

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗