Repository navigation
Bounds
This page tells maintainers each bound, its value, and its file.
The values come from the code.
A value in a placeholder is filled from the code when just generate runs.
A new bound goes in the tier of its reader. Each bound has one owner, and tests pin the copies of a bound in code and config.
- A shared runtime bound goes in
src/kernel/budget.ts. Inference: use this tier when the shipped code of more than one slice reads the bound. - A slice bound goes in
src/plugins/<plugin>/slices/<slice>/limits.ts. Use this tier when one slice reads the bound. - A repository bound goes in
tools/limits.ts. Use this tier when only the tests and the tools read the bound, so it does not ship.
The rule for each tier is in CLAUDE.md.
The choice of the three tiers is in Decisions-Layout.
| Name | Value | File | Purpose |
|---|---|---|---|
CONTEXT_WINDOW |
300,000 |
src/kernel/budget.ts |
The context window in tokens, which the settings snippet sets for Claude Code. |
COMPACT_OUTPUT_RESERVE |
20,000 |
src/kernel/budget.ts |
The output reserve that Claude Code takes from the compaction window. |
CONTEXT_BLOCK_MARGIN |
23,000 |
src/kernel/budget.ts |
The tokens below the window at which the client blocks the next request as too long. |
USAGE_LEVELS (low) |
75 |
src/kernel/budget.ts |
The percent at which the status line shows a use in the warning color. It applies to the pace of a limit and to the context of a subagent. |
USAGE_LEVELS (high) |
90 |
src/kernel/budget.ts |
The percent at which the status line shows a use in the limit color. It applies to the pace of a limit and to the context of a subagent. |
BASH_OUTPUT_MAX_CHARS |
16,000 |
src/kernel/budget.ts |
The characters of a successful Bash output that Claude gets inline. |
COMMAND_OUTPUT_MAX_CHARS |
20,000 |
src/kernel/budget.ts |
The characters of a skill command output that shows with no model turn. |
HANDOFF_TRIGGER_TOKENS |
225,000 |
src/kernel/budget.ts |
The context at which the auto handoff of an Opus, Sonnet, or Fable session starts. |
HAIKU_HANDOFF_TRIGGER_TOKENS |
100,000 |
src/kernel/budget.ts |
The context at which the auto handoff of a Haiku session starts. |
AUTOCOMPACT_PCT |
80.3571 |
src/kernel/budget.ts |
The value of CLAUDE_AUTOCOMPACT_PCT_OVERRIDE, which starts the auto compaction at HANDOFF_TRIGGER_TOKENS in the window CONTEXT_WINDOW. |
HAIKU_AUTOCOMPACT_WINDOW |
144,444 |
src/kernel/budget.ts |
The autoCompactWindow of a Haiku model, which starts the auto compaction below HAIKU_HANDOFF_TRIGGER_TOKENS. |
SHELL_SCAN_MAX_CHARS |
200,000 |
src/kernel/budget.ts |
The most characters that commands in src/kernel/shell.ts reads in one command. |
BRACE_WORDS_MAX |
256 |
src/kernel/budget.ts |
The most words that the brace expansion of one word gives. A word that gives more is unreadable. |
MAX_PATTERNS |
1,000 |
src/kernel/budget.ts |
The most expanded patterns that the paths of one rule file can have. The drift check gives a budget problem above it. |
CODE_COMMAND_MAX_WORDS |
32 |
src/kernel/budget.ts |
The most words of one command that a code reader reads from code in another language. |
RENAME_TRIES |
10 |
src/kernel/budget.ts |
The tries of a rename in writeAtomic, the first one included. |
RENAME_WAIT_MS |
100 |
src/kernel/budget.ts |
The wait in milliseconds between two tries of a rename in writeAtomic. |
| Name | Value | File | Purpose |
|---|---|---|---|
MAX_GUIDE_CHARS |
40,000 |
src/plugins/claudetto-browser/slices/browse/limits.ts |
The most characters of the agent-browser guide in the skill. |
GUIDE_TIMEOUT_MS |
15,000 |
src/plugins/claudetto-browser/slices/browse/limits.ts |
The time that agent-browser skills get core may take. |
MAX_OUTPUT_CHARS |
20,000 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The most characters of page text in one search result. |
OPEN_TIMEOUT_MS |
30,000 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The time that the browser may take to open the search page. |
READ_TIMEOUT_MS |
15,000 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The time that the browser may take to read the page text. |
CLOSE_TIMEOUT_MS |
10,000 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The time that the browser may take to close. |
SESSION_NAME_MAX |
12 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The longest name of a search session, which keeps a socket path under the macOS limit. |
MAX_DOMAINS |
10 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The most allowed_domains or blocked_domains that the query takes. |
SESSION_COUNTER_CHARS |
2 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The characters of the counter in a search session name, in base 36. |
SESSION_RANDOM_CHARS |
5 |
src/plugins/claudetto-browser/slices/search/limits.ts |
The characters of the random part of a search session name, in base 36. |
QUERY_TIMEOUT_MS |
2,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The time that codegraph --version may take for the check. |
START_SYNC_TIMEOUT_MS |
6,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The time that the sync at session start may take. |
BACKGROUND_SYNC_TIMEOUT_MS |
60,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The time that the background sync after an edit may take. |
GIT_SYNC_TIMEOUT_MS |
15,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The time that the sync after a git command may take. |
SESSION_START_HOOK_TIMEOUT_S |
10 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The hook timeout of SessionStart, in seconds. |
TREE_GRACE_MS |
3,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The time that run-tree.ts gets to start and to end the process tree after the limit on Windows. |
HOOK_MARGIN_MS |
1,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The time that a hook timeout keeps free after the last wait of its command. |
BACKGROUND_HOOK_TIMEOUT_S |
64 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The hook timeout of the sync after an edit, in seconds. It covers BACKGROUND_SYNC_TIMEOUT_MS, TREE_GRACE_MS, and HOOK_MARGIN_MS. |
LOCK_STALE_MS |
64,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The age at which a sync lock counts as left by a dead process. |
GIT_RUN_TIMEOUT_MS |
19,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The time that the mod handler waits for the sync process after a git command. |
MIN_CATCH_UP_MS |
2,000 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The shortest time that a catch-up sync in the same run needs. |
ERROR_TEXT_MAX_CHARS |
300 |
src/plugins/claudetto-codegraph/slices/graph/limits.ts |
The most characters of CLI error text that a notice gives. |
CTX7_VERSION |
0.6.1 |
src/plugins/claudetto-docs/slices/docs/limits.ts |
The ctx7 version that the skill and the settings snippet run. |
MAX_CALLS |
3 |
src/plugins/claudetto-docs/slices/docs/limits.ts |
The most ctx7 calls for one question. |
MAX_PART_COUNTS |
64 |
src/plugins/claudetto-lab/slices/capture/limits.ts |
The most parts of one request that get a count_tokens call. |
COUNT_ATTEMPTS |
4 |
src/plugins/claudetto-lab/slices/capture/limits.ts |
The most attempts of one count_tokens call when the endpoint answers HTTP 429. |
COUNT_BACKOFF_MS |
500 |
src/plugins/claudetto-lab/slices/capture/limits.ts |
The wait before the second attempt, which doubles for each later wait. |
SPLIT_CHARS |
2,000 |
src/plugins/claudetto-lab/slices/capture/limits.ts |
The most characters of a text block that are sized as one part. |
WEEKLY_WARN_PERCENT |
80 |
src/plugins/claudetto-sessions/slices/awareness/limits.ts |
The share of the seven-day window, in percent, from which the main agent gets one note about the limit. |
TIMEOUT_MS |
120,000 |
src/plugins/claudetto-sessions/slices/start-cost/limits.ts |
The time that the claudetto-start CLI may take. |
TIMEOUT_MS |
120,000 |
src/plugins/claudetto-sessions/slices/usage/limits.ts |
The time that the claudetto-usage CLI may take. |
COMPLETE_MODEL |
haiku |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The model of the separate call, as an alias. |
MAX_REPLY_TOKENS |
120 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The most output tokens of one answer. |
COMPLETE_TIMEOUT_MS |
5,000 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The time that the separate call may take. |
FORK_WAIT_MS |
6,000 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The time that the tool waits for a fork. |
MAX_INPUT_CHARS |
4,000 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The most characters of the user prompt and of the pending action in one call. |
MAX_SEEN_TOPICS |
10 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The most topics of the <seen> list in one prompt. |
MAX_TOPIC_CHARS |
400 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The most characters of a topic in the band. |
MAX_ID_CHARS |
60 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The most characters of a topic id. |
MAX_CLAIMS |
3 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The most file claims in one answer. An answer with more claims is dropped. |
CHECK_TOKENS |
4,000 |
src/plugins/claudetto-you-should-know/slices/notice/limits.ts |
The eval bound of one check: the input at 4 characters for each token, plus MAX_REPLY_TOKENS. |
FILE_MAX_BYTES |
1,000,000 |
src/plugins/claudetto/slices/asks/limits.ts |
The largest file in bytes that a check reads to compare the text before and after a call. |
SCAN_MAX_CHARS |
200,000 |
src/plugins/claudetto/slices/asks/limits.ts |
The most characters of text that a check scans for banned patterns. |
ITEMS_SHOWN_MAX |
8 |
src/plugins/claudetto/slices/asks/limits.ts |
The most reasons that the write ask of one Bash command gives. |
SCRIPT_FILES_MAX |
8 |
src/plugins/claudetto/slices/asks/limits.ts |
The most script files of one Bash command that the git ask and the write ask read. |
LINE_SHOWN_MAX_CHARS |
80 |
src/plugins/claudetto/slices/asks/limits.ts |
The most characters of a changed line that an ask reason shows. |
STATEMENT_MAX_CHARS |
4,000 |
src/plugins/claudetto/slices/asks/weak-limits.ts |
The most characters of one statement that the reader of code text scans. |
JSON_DEPTH_MAX |
24 |
src/plugins/claudetto/slices/asks/weak-limits.ts |
The most nested levels of a JSON value that the config check compares. |
MAX_FAILURE_LINES |
40 |
src/plugins/claudetto/slices/checks/limits.ts |
The most last output lines that the summary of one failed command prints. |
MAX_LINE_CHARS |
200 |
src/plugins/claudetto/slices/checks/limits.ts |
The most characters of one printed output line before it is cut. |
MAX_PASS_OUTPUT_LINES |
10 |
src/plugins/claudetto/slices/checks/limits.ts |
The most output lines that the summary prints for a passing command. |
COMMAND_TIMEOUT_MS |
1,800,000 |
src/plugins/claudetto/slices/checks/limits.ts |
The time that one command may run before it is killed and counts as failed. |
RUN_ID_LENGTH |
8 |
src/plugins/claudetto/slices/checks/limits.ts |
The characters of the random part of a log file name. |
JEV_TIMEOUT_MS |
45,000 |
src/plugins/claudetto/slices/decide/limits.ts |
The most time that the hook waits for one run of the TypeSafe client. |
TRIES |
3 |
src/plugins/claudetto/slices/decide/limits.ts |
The tries of the TypeSafe client on a 429 or a 529 reply. |
BACKOFF_MS |
1,000 |
src/plugins/claudetto/slices/decide/limits.ts |
The first wait before a retry, which doubles for each later wait. |
ATTEMPT_TIMEOUT_MS |
12,000 |
src/plugins/claudetto/slices/decide/limits.ts |
The timeout of one try of the TypeSafe client. |
ERROR_BODY_MAX |
200 |
src/plugins/claudetto/slices/decide/limits.ts |
The most characters of an error body of the TypeSafe API that the client keeps. |
FALLBACK_TIMEOUT_MS |
30,000 |
src/plugins/claudetto/slices/decide/limits.ts |
The time limit of one fallback completion. |
FALLBACK_MODEL |
haiku |
src/plugins/claudetto/slices/decide/limits.ts |
The model of the fallback completion. |
FALLBACK_MAX_TOKENS |
512 |
src/plugins/claudetto/slices/decide/limits.ts |
The token cap of one fallback reply. |
MIN_OPTIONS |
2 |
src/plugins/claudetto/slices/decide/limits.ts |
The fewest options of a pick question. |
MAX_OPTIONS |
255 |
src/plugins/claudetto/slices/decide/limits.ts |
The most options of a pick question. |
MIN_CONFIDENCE |
0.5 |
src/plugins/claudetto/slices/decide/limits.ts |
The confidence under which a Jev answer says that Jev is not sure. |
YES_NO_UNSURE_BAND |
0.2 |
src/plugins/claudetto/slices/decide/limits.ts |
The distance from 0.5 under which a yes or no answer says that Jev is not sure. |
READ_MAX_BYTES |
4,194,304 |
src/plugins/claudetto/slices/guard/limits.ts |
The size of the largest file that $.fs.read reads, which is 4 MiB. |
AGE_MAX_MS |
604,800,000 |
src/plugins/claudetto/slices/gc/limits.ts |
The age of an unused output after which the sweep removes it, which is 7 days. |
| SIZE_MAX_BYTES | 5,368,709,120 | src/plugins/claudetto/slices/gc/limits.ts | The size of the unused outputs above which the sweep removes the oldest ones, which is 5 GiB. |
| START_SWEEP_TIMEOUT_MS | 30,000 | src/plugins/claudetto/slices/gc/limits.ts | The time that the sweep at session start may take. |
| END_SWEEP_TIMEOUT_MS | 10,000 | src/plugins/claudetto/slices/gc/limits.ts | The time that the sweep at session end may take when the budget is not metered. |
| END_SWEEP_MARGIN_MS | 500 | src/plugins/claudetto/slices/gc/limits.ts | The time that the hook keeps back from the session.end budget for its own work. |
| COMMAND_TIMEOUT_MS | 120,000 | src/plugins/claudetto/slices/gc/limits.ts | The time that the command claudetto:gc may take. |
| RECORDS_MAX | 500 | src/plugins/claudetto/slices/gc/limits.ts | The most records that one session keeps. A session over it drops the oldest records. |
| REPORT_MAX_WORDS | 400 | src/plugins/claudetto/slices/agents/limits.ts | The most words in the final report of an agent. |
| SUBAGENT_CONTEXT_MAX | 100,000 | src/plugins/claudetto/slices/agents/limits.ts | The context tokens of a subagent over which the next tool call adds the report-now note. |
| HAIKU_CONTEXT_MAX | 85,000 | src/plugins/claudetto/slices/agents/limits.ts | The same bound for a subagent on Haiku. |
| BUN_MIN | 1.4.3 | src/plugins/claudetto/slices/setup/limits.ts | The lowest Bun version that the CLIs, hooks, and bins of the plugins need. |
| GAP_KEYS_MAX | 8 | src/plugins/claudetto/slices/setup/limits.ts | The most key paths that the line of missing snippet values names. |
| RULE_LINES_MAX | 8 | src/plugins/claudetto/slices/setup/limits.ts | The most lines that the rule problems add to the drift check. |
| SUBAGENTS_PRO | 2 | src/plugins/claudetto/slices/setup/limits.ts | The CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS of the Pro baseline and the API key account. |
| SUBAGENTS_MAX_5X | 4 | src/plugins/claudetto/slices/setup/limits.ts | The CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS of the Max 5x account. |
| SUBAGENTS_MAX_20X | 7 | src/plugins/claudetto/slices/setup/limits.ts | The CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS of the Max 20x account. |
| AUTH_STATUS_TIMEOUT_MS | 10,000 | src/plugins/claudetto/slices/setup/limits.ts | The time that claude auth status --json may take before setup reads no account. |
| GIT_TIMEOUT_MS | 10,000 | src/plugins/claudetto/slices/setup/limits.ts | The most time that one git call of the exclude step may take. |
| REFRESH_SECONDS | 1 | src/plugins/claudetto/slices/statusline/limits.ts | The seconds between two runs of the status line. |
| TRIGGER_WARN_FRACTION | 0.1 | src/plugins/claudetto/slices/statusline/limits.ts | The part of the handoff trigger within which the context shows in the warning color. |
| GIT_TIMEOUT_MS | 1,500 | src/plugins/claudetto/slices/statusline/limits.ts | The time that the one git status call can take. |
| MAX_ROWS | 3 | src/plugins/claudetto/slices/statusline/limits.ts | The most rows of the main status line. |
| DEFAULT_COLUMNS | 120 | src/plugins/claudetto/slices/statusline/limits.ts | The width in columns when COLUMNS is not set. |
| COLUMNS_MARGIN | 4 | src/plugins/claudetto/slices/statusline/limits.ts | The columns that stay free at the right edge. |
| SUBAGENT_ROWS_MAX | 20 | src/plugins/claudetto/slices/statusline/limits.ts | The most subagent rows in the status line. |
| DESCRIPTION_ROOM_MIN | 8 | src/plugins/claudetto/slices/statusline/limits.ts | The columns that a subagent row needs for its description before the description shows. |
| GIT_CACHE_MS | 3,000 | src/plugins/claudetto/slices/statusline/limits.ts | The time that a git status result stays in the cache of the git segment. |
| FIVE_HOUR_S | 18,000 | src/plugins/claudetto/slices/statusline/limits.ts | The length, in seconds, of the 5h window of a limit. |
| SEVEN_DAY_S | 604,800 | src/plugins/claudetto/slices/statusline/limits.ts | The length, in seconds, of the 7d window of a limit. |
| PACE_MIN_FRACTION | 0.03 | src/plugins/claudetto/slices/statusline/limits.ts | The part of a limit window that must pass before its pace arrow shows. |
| PROJECTED_WARN | 75 | src/plugins/claudetto/slices/statusline/limits.ts | The projected use at the end of a window, in percent, from which the percent has the warning color. It is the first level of USAGE_LEVELS. |
| PROJECTED_RUNOUT | 100 | src/plugins/claudetto/slices/statusline/limits.ts | The projected use at the end of a window, in percent, above which the percent has the limit color. |
| PERCENT_FIELD | 4 | src/plugins/claudetto/slices/statusline/limits.ts | The columns of the percent field of a limit window. |
| ARROW_FIELD | 5 | src/plugins/claudetto/slices/statusline/limits.ts | The columns of the pace arrow field of a limit window. |
| RUNOUT_FIELD | 14 | src/plugins/claudetto/slices/statusline/limits.ts | The columns of the run-out time field of a limit window. |
| HANDOFF_LINES_MAX | 10 | src/plugins/claudetto/slices/handoff/limits.ts | The most lines of a handoff, as its prompt asks for them. |
| CALL_INPUT_CHARS_MAX | 300 | src/plugins/claudetto/slices/handoff/limits.ts | The most characters of the input of one tool call that the fork prompt names. |
| HANDOFF_MODEL | haiku | src/plugins/claudetto/slices/handoff/limits.ts | The model of the completion that writes the handoff when there is nothing to fork. |
| DIGEST_TOKENS_MAX | 15,000 | src/plugins/claudetto/slices/handoff/limits.ts | The most tokens of the digest of the messages in the prompt of that completion. |
| DIGEST_TEXT_CHARS_MAX | 2,000 | src/plugins/claudetto/slices/handoff/limits.ts | The most characters of the text of one message in the digest. |
| CHARS_PER_TOKEN | 4 | src/plugins/claudetto/slices/handoff/limits.ts | The characters of one token in the estimate of the size of the new context. |
| GROUND_VALUE_CHARS_MIN | 4 | src/plugins/claudetto/slices/handoff/limits.ts | The fewest characters of a value in backticks that the ground check looks for. |
| NAME_CHARS_MAX | 60 | src/plugins/claudetto/slices/minispec/limits.ts | The most characters of the name of a change or of a capability. |
| SUGGEST_DISTANCE_MAX | 2 | src/plugins/claudetto/slices/minispec/limits.ts | The largest edit distance at which a bad command gets a suggestion of the nearest command. |
| SHOW_LINES_MAX | 200 | src/plugins/claudetto/slices/minispec/limits.ts | The most lines of a file that minispec show prints for a human. |
| GIT_TIMEOUT_MS | 30,000 | src/plugins/claudetto/slices/worktree/limits.ts | The time that one git command of a worktree hook may run. |
| HOOK_TIMEOUT_S | 120 | src/plugins/claudetto/slices/worktree/limits.ts | The hook timeout of WorktreeCreate and WorktreeRemove, in seconds. |
| MAX_NAMED_CALLS | 5 | src/plugins/claudetto/slices/usercheck/limits.ts | The most denied calls that one block reason of the Stop hook names. |
| MAX_CALL_CHARS | 200 | src/plugins/claudetto/slices/usercheck/limits.ts | The most characters of one denied call in the block reason. |
| MAX_BLOCKS | 2 | src/plugins/claudetto/slices/turngate/limits.ts | The most blocks of the turn gate in one turn. The next stop passes with a notice. |
| JUDGE_MODEL | sonnet | src/plugins/claudetto/slices/turngate/limits.ts | The model of the judge call. |
| JUDGE_EFFORT | medium | src/plugins/claudetto/slices/turngate/limits.ts | The effort of the judge call. |
| JUDGE_TIMEOUT_MS | 30,000 | src/plugins/claudetto/slices/turngate/limits.ts | The time that one judge call may take before the gate allows the stop. |
| JUDGE_MAX_TOKENS | 1,024 | src/plugins/claudetto/slices/turngate/limits.ts | The most output tokens of one judge call. |
| JUDGE_TOKENS | 1,500 | src/plugins/claudetto/slices/turngate/limits.ts | The estimate of the tokens of one judge call in the eval manifest. |
| MAX_CALLS | 60 | src/plugins/claudetto/slices/turngate/limits.ts | The most tool calls in the summary that the judge reads, from the end of the turn. |
| MAX_TARGET_CHARS | 160 | src/plugins/claudetto/slices/turngate/limits.ts | The most characters of the target of one call in the summary. |
| MAX_ERROR_CHARS | 160 | src/plugins/claudetto/slices/turngate/limits.ts | The most characters of the error of one call in the summary. |
| REPLY_HEAD_CHARS | 2,000 | src/plugins/claudetto/slices/turngate/limits.ts | The characters from the start of a long reply that the judge reads. |
| REPLY_TAIL_CHARS | 6,000 | src/plugins/claudetto/slices/turngate/limits.ts | The characters from the end of a long reply that the judge reads. |
| MAX_NAMED_TASKS | 5 | src/plugins/claudetto/slices/turngate/limits.ts | The most running background tasks that one block reason names. |
| MAX_QUOTE_CHARS | 300 | src/plugins/claudetto/slices/turngate/limits.ts | The most characters of the quote of the reply in a block reason. |
| MAX_AGENTS | 64 | src/plugins/claudetto/slices/turngate/limits.ts | The most agents whose tool calls the gate keeps at one time. |
| READ_DEFAULT_LINES | 2,000 | src/plugins/claudetto/slices/reads/limits.ts | The lines that one Read gives when the call sets no limit, and the most lines that one Read counts. |
| MAX_SEEN_READS | 64 | src/plugins/claudetto/slices/reads/limits.ts | The most earlier reads that the record of one file keeps. |
| MAX_REMEMBERED | 500 | src/plugins/claudetto/slices/reads/limits.ts | The most files, rejected calls, and files to read again that one session keeps. |
| Name | Value | File | Purpose |
|---|---|---|---|
FILE_MAX_LINES |
300 |
tools/limits.ts |
The most lines in a file that is not a test. |
TEST_FILE_MAX_LINES |
500 |
tools/limits.ts |
The most lines in a test file. |
WORKTREE_TEST_TIMEOUT_MS |
15,000 |
tools/limits.ts |
The time for one test that makes a git worktree. |
GIT_REPO_TEST_TIMEOUT_MS |
15,000 |
tools/limits.ts |
The time for one test that starts many git processes. |
BUNDLE_SCAN_TIMEOUT_MS |
60,000 |
tools/limits.ts |
The time for one test that scans the bundle of the installed claude. |
MIN_CLAUDE_CODE_VERSION |
2.1.301 |
tools/limits.ts |
The lowest Claude Code version that claudetto is built for. |
DOCKER_CPUS |
4 |
tools/limits.ts |
The CPUs of the container of just docker. |
EVAL_MAX_COST_USD |
5 |
tools/limits.ts |
The most US dollars for one just eval run. |
CODE_TEXT_MAX_CHARS |
60 |
tools/limits.ts |
The most characters in one text in the code of a plugin or of the kernel. |
AGENT_DESCRIPTION_MAX_CHARS |
300 |
tools/limits.ts |
The most characters in the description of an agent file. |
CLAUDE_MD_MAX_BYTES |
6,144 |
tools/limits.ts |
The most bytes in a CLAUDE.md or AGENTS.md file. |
SKILL_META_LOW_BYTES |
150 |
tools/limits.ts |
The fewest bytes in the name and description of one skill. |
SKILL_META_HIGH_BYTES |
300 |
tools/limits.ts |
The most bytes in the name and description of one skill. |
SKILL_META_TOTAL_LOW_BYTES |
5,120 |
tools/limits.ts |
The fewest bytes of skill metadata in all skills together. |
SKILL_META_TOTAL_HIGH_BYTES |
8,192 |
tools/limits.ts |
The target for the skill metadata of all skills together. A larger sum is reported. |
SKILL_META_TOTAL_MAX_BYTES |
15,360 |
tools/limits.ts |
The ceiling for the skill metadata of all skills together. A larger sum fails. |
SKILL_BODY_LOW_BYTES |
2,048 |
tools/limits.ts |
The fewest bytes in a SKILL.md body. |
SKILL_BODY_HIGH_BYTES |
8,192 |
tools/limits.ts |
The most bytes in a SKILL.md body. |
FIRST_REQUEST_LOW_BYTES |
8,192 |
tools/limits.ts |
The fewest bytes in the first request, with no tool schemas. |
FIRST_REQUEST_HIGH_BYTES |
16,384 |
tools/limits.ts |
The most bytes in the first request, with no tool schemas. |
START_TOKENS |
9,960 |
tools/limits.ts |
The most tokens in the first request of a claudetto session. |
Three shared bounds depend on the Claude Code 2.1.301 binary: CONTEXT_WINDOW, CONTEXT_BLOCK_MARGIN, and BASH_OUTPUT_MAX_CHARS.
The range of bashOutputMaxChars (4,000 to 128,000) comes from the description of the key in the 2.1.301 settings schema.
CONTEXT_BLOCK_MARGIN is the output reserve of 20,000 tokens plus 3,000 tokens of the 2.1.301 bundle.
The 2.1.301 bundle caps the window of some models at 200,000 tokens, so the settings snippet sets CONTEXT_WINDOW in autoCompactWindow.
The 2.1.301 bundle starts the auto compaction at min(floor(E × pct / 100), E − 13000), with E the window less COMPACT_OUTPUT_RESERVE.
AUTOCOMPACT_PCT and HAIKU_AUTOCOMPACT_WINDOW come from this formula.
-
Settings Snippet gives the settings that use
CONTEXT_WINDOW. - Handoff explains the handoff bounds.
- Decisions Layout gives the choice of the bound tiers.
- Start
- How claudetto Works
- Add-On Plugins
- How Claude Code Works
- Reference
- Rationale
- Evidence
- Development
- Archive