Every month, Claude Code ships something that gets headlines, and every month the genuinely interesting changes are buried two paragraphs below the fold. March 2026 is no exception. Voice mode is the marquee feature — hold spacebar, speak, release. It works. Fine.
But if you’re using Claude Code for anything resembling serious agentic work, here’s what actually changed this month.
The token limit upgrade is bigger than it sounds#
Default maximum output tokens for Claude Opus 4.6 jumped to 64k tokens. The upper bound for both Opus 4.6 and Sonnet 4.6 is now 128k tokens. The 1M context window is available on Max, Team, and Enterprise plans.
Why does this matter? Because most meaningful agentic tasks — write a module, refactor a service, generate a test suite — produce output that was quietly getting truncated before. The previous 32k default felt fine for conversational use. For agentic sessions where Claude is writing code, it’s constantly bumping against ceilings.
Going from a 32k default to 64k is roughly equivalent to doubling the size of the code Claude can produce in a single step without breaking the task into chunks. For context: a mid-sized TypeScript service might be 800–1,200 lines. You can now have Claude generate it end-to-end rather than managing the handoffs manually.
The 128k max is the more interesting number for CI pipelines and long-running tasks. If you’re scripting Claude Code with -p and handling the output downstream, you now have a lot more headroom before you need to decompose your prompts.
/loop makes recurring tasks first-class#
The new /loop command runs a slash command on a recurring interval. The syntax is /loop 5m /foo (defaults to 10 minutes).
This is the “I want Claude to keep doing this” feature that power users have been hacking around for months. Before, the workarounds were: run it in a cron job, write a shell wrapper, or babysit it manually. Now it’s a native command.
Practical uses: keep a linting check running while you work on a feature, monitor a test suite every few minutes during a refactor, poll an external status endpoint, or run a review pass on recent commits on a schedule.
The important detail is that /loop works with any slash command, including custom skills defined in your project. If you’ve built a /review-pr skill or a /check-types skill, you can loop it without any additional setup.
MCP elicitation: AI can ask structured questions mid-task#
This one has been needed for a while. MCP elicitation support lets MCP servers request structured input from you while a task is running — via an interactive dialog with form fields, or a browser URL.
Previously, if an MCP server needed clarification partway through a task, you had one option: write all possible parameters into your initial prompt and hope for the best. Or abort, reconfigure, and restart. Neither is good.
Elicitation changes the interaction model. An MCP server can now pause mid-execution and ask: “I found three matching tables — which one?” or “The deployment target is ambiguous — pick one: staging, prod-eu, prod-us.” You respond via a structured dialog (not a free-text field), the server validates your input, and execution resumes.
For developers building MCP servers, the new Elicitation and ElicitationResult hooks let you intercept and override responses before they’re sent back to the server. This is useful for testing MCP servers without manual intervention, or for building automation layers on top of MCP workflows.
--channels: MCP servers can now talk to you#
The --channels flag (still in research preview) enables MCP servers to push messages into your active session. This is the inverse of the normal MCP flow.
Normally: you give Claude a task → Claude calls an MCP server → MCP server returns a result. With --channels: an MCP server can initiate a message to your Claude Code session unprompted.
The obvious use case is notifications. An MCP server watching a CI pipeline can push “build failed” or “deploy complete” into your active session without you polling for status. A monitoring server can interrupt with an alert. A code review bot can surface a blocking comment without you switching context.
There’s also a --channels permission relay capability — channel servers that declare the permission capability can forward tool approval prompts to your phone. If Claude needs to run a destructive command and you’re not at your desk, it can ask you via your phone rather than blocking the session.
This is early-stage (research preview means the API may change), but the direction is clear: Claude Code sessions are becoming interactive in both directions.
/effort and /color: smaller changes worth knowing#
/effort lets you set the model’s effort level for the current session. The full-effort mode previously called “max” is gone — now it’s three levels, and maximum effort is triggered by using the ultrathink keyword in your prompt rather than a mode setting.
/color sets a color for the current session’s prompt bar. Trivial feature, genuinely useful when you’re running multiple parallel sessions (see: parallel AI agents) and need to keep track of which terminal window is which agent.
--bare for CI and scripted use#
The new --bare flag is specifically for scripted -p calls. It skips hooks, LSP initialization, plugin sync, and skill directory walks. It requires ANTHROPIC_API_KEY or an apiKeyHelper via --settings — OAuth and keychain auth are disabled.
If you’re running Claude Code in CI pipelines or calling it from scripts, --bare makes sessions start faster and removes the overhead of interactive-mode setup. It also means your scripted calls won’t accidentally trigger hooks or plugins configured for interactive sessions.
For teams using Claude Code as a CI step — code review, test generation, doc updates — --bare is the flag you’ve been waiting for.
The direction this points#
Voice mode is a UX convenience. The changes that matter are about making Claude Code work better in three contexts that were previously awkward:
- Long agentic tasks — 64k default output tokens, 128k max
- Recurring and scheduled work —
/loop - Bidirectional, interactive pipelines — MCP elicitation +
--channels
The pattern here is Claude Code becoming less of a tool you talk to and more of a runtime you run workflows on. The /loop command, elicitation support, and channel push notifications are all about reducing the amount of human-in-the-loop intervention required for tasks that should be autonomous.
That’s the real story of March 2026.
Sources