Add the new bashOutputMaxChars setting to your Claude Code settings.json with a number up to 128,000 and the Claude Code bash output limit rises to that many characters — meaning long command output gets passed to Claude inline instead of being cut short and saved to a file it then has to read back. The setting arrived in Claude Code version 2.1.261 alongside a matching taskOutputMaxChars for background tasks, per the official changelog in the anthropics/claude-code repository (fetched 8 September 2026), and it quietly fixes one of the most common frictions in agentic coding sessions: the model acting on a truncated view of what your build, test run or script actually printed.
📺 Watch: Claude Code Just Got a HUGE Customization Upgrade
🔥 Get the Agent OS as a free bonus: AI Profit Boardroom members get the full Agent OS zip, prompt libraries, daily tutorials and weekly live coaching calls. → Get inside · Want AI SEO help 1-on-1? Book a free SEO strategy session →
What The Claude Code Bash Output Limit Actually Controls
When Claude Code runs a shell command for you, the output has to fit into the conversation somehow. Very long output does not get streamed in wholesale: past a cutoff, the CLI saves the full output to a file and hands Claude a pointer instead of the text. The changelog entry for 2.1.261 describes the new settings as raising "how much command and background-task output Claude receives inline before it is saved to a file, up to 128K characters" — bashOutputMaxChars for ordinary commands, taskOutputMaxChars for background tasks.
Why does inline versus file matter? Because inline output is context Claude sees immediately and completely, while a saved file is something it has to notice, open and read in a second step — an extra round trip it does not always take as thoroughly as you would like. If your test suite prints five hundred lines and the failure is on line four hundred, a low Claude Code bash output limit means the model may be reasoning from the summary end of a truncation rather than the actual error. Raising the ceiling trades tokens for fidelity, and for output-heavy work that trade is often correct.
One nuance worth being clear on: this is a character ceiling, not a token one. 128,000 characters of dense compiler output and 128,000 characters of repetitive log lines cost different amounts of model attention, and neither maps one-to-one onto tokens. So the right mental model is simple — the setting decides how much of your terminal reality Claude is guaranteed to see directly, and your job is to make sure what your commands print is worth seeing. Quieting noisy tooling with sensible flags remains the cheapest optimisation there is.
Where To Put bashOutputMaxChars
The setting is an ordinary Claude Code settings key, so it goes wherever your other settings live. Per the official Claude Code settings documentation, the user-level file sits at ~/.claude/settings.json and applies to every project; a shared project file at .claude/settings.json applies to everyone working in that repository; and .claude/settings.local.json overrides it just for you in that project. Higher levels win when the same key is set twice — managed organisation settings first, then per-session command-line settings, then project local, shared project and finally user. Set bashOutputMaxChars to a plain number of characters, such as 100000, and taskOutputMaxChars the same way if you also want bigger background-task output. The documented ceiling is 128K characters.
A sensible pattern: keep the user-level default modest, and raise the limit in the shared project settings only for repositories whose tooling genuinely prints a lot — big monorepos, chatty build systems, data pipelines. That way you pay the token cost exactly where the fidelity buys you something. If you are still getting comfortable with how the CLI's settings, permissions and workflow fit together, the learn Claude Code guide walks the whole stack from first install to real projects.
If you want Claude Code doing real revenue work in your business — with done-for-you agent workflows, prompt libraries and five live coaching calls a week to get it running — check out the AI Profit Boardroom → Get the setups here. Want a 1-on-1 look at your AI SEO pipeline instead? Book a free SEO strategy session.
taskOutputMaxChars: The Background-Task Twin
Background tasks are where big output really accumulates — long builds, watch processes, deploys, scripted jobs that run while Claude does something else. taskOutputMaxChars applies the same inline ceiling to those, and the same 128K maximum, per the 2.1.261 changelog. If you lean on background tasks for automation-heavy sessions, this is arguably the more valuable of the pair: a background job's output is exactly the kind of thing that gets skimmed via a saved file at the moment you most want the model to have read every line.
Both settings sit in the same family of recent quality-of-life work Anthropic has been shipping around visibility — the same changelog adds an organisation-policy line to the /status and claude doctor output, and a /skill-doctor command that shows which loaded skills go unused and what they cost in context. There is also a new --append-subagent-system-prompt-file flag for reading a subagent system prompt from a file when it is too large to pass on the command line. If you run multi-agent setups on top of Claude Code, that flag plus the agentic OS approach to Claude Code is the direction the tooling is clearly moving: bigger, more structured context, deliberately managed.
When To Raise The Claude Code Bash Output Limit — And When Not To
More inline output means more input tokens on every turn where a command prints heavily, and input tokens are the quiet budget-killer in agentic coding. So treat the ceiling as a dial, not a trophy. Raise it when you see Claude repeatedly re-reading saved output files, missing errors buried deep in logs, or asking you what a command printed. Leave it alone when your commands are short, or when you are already fighting context bloat — in that situation the guide to reducing Claude Code token usage is the better lever to pull first, because it attacks the same problem from the opposite side: sending less, not more.
The two goals are not actually in conflict. The point of both is signal density: you want the model's context filled with the output that matters and none of the output that does not. A tight allow-list of chatty commands, a raised limit in the one repo that needs it, and pruned skills via /skill-doctor will beat a blanket 128K everywhere.
📺 Watch: Free Claude Code Is CRAZY GOOD!
The Cost Angle
If you are running Claude Code on a paid plan, a raised output limit is one of several settings that quietly shift your usage profile, so it pays to know your alternatives across the stack. Some workloads belong on cheaper local models entirely — the Claude Code free with Ollama guide covers running the harness against local models for the grunt work — and some sessions are better run in modes that consume less, like the read-only counsel pattern in the Claude Code advisor mode breakdown. Even display settings have moved in this direction lately, as covered in the no-flicker mode write-up. The theme across all of it: the CLI keeps handing you more dials, and the operators who win are the ones who actually set them.
For picking which model sits behind those dials in the first place, the Goldie Bench write-up covers how the current models compare in hands-on tests, and the Agent OS guide covers the operating structure — memory, skills, workflows — that makes any of these per-tool settings compound instead of sprawl.
A quick way to sanity-check your choice: run the chattiest command your project owns and watch what Claude does next. If it reasons from the actual output — quoting the real failing line, acting on the real warning — your ceiling is high enough. If it reaches for a saved output file first, or asks you to paste what happened, you have found your evidence for raising the number in that project's shared settings.
The Bottom Line
The Claude Code bash output limit used to be a fixed fact of life; as of version 2.1.261 it is a setting you own. Put bashOutputMaxChars in the settings file that matches the scope you want, cap it at what your token budget tolerates, add taskOutputMaxChars if background jobs are your bottleneck, and check the result with a genuinely chatty command. Five minutes of configuration, and the model stops guessing at what your terminal said.
If you want a business where AI tools like this compound into actual income — workflows, community and weekly live coaching included — check out the AI Profit Boardroom → Join and grab the Agent OS bonus. And if you want a personal roadmap for AI-driven SEO, book a free SEO strategy session — it costs nothing and you leave with next steps.











