Boris created Claude Code at Anthropic. When asked how he uses it, he shared 13 practical tips from his daily workflow. His setup is "surprisingly vanilla" — proof that CC works great out of the box.
@bcherny's January 2, 2026 threadBoris runs 5 instances of Claude Code simultaneously in his terminal using 5 separate git checkouts of the same repo. He numbers his tabs 1-5 for easy reference and uses system notifications to know when any Claude needs input.
Beyond the terminal, Boris runs 5-10 additional sessions on claude.ai/code. He fluidly hands off between local and web using the & command or --teleport flag.
He also kicks off sessions from his phone via the Claude iOS app in the morning, then picks them up on his computer later.
& — Background a session--teleport — Switch contexts between local and web
Boris uses Opus 4.5 with thinking mode for every task. His reasoning:
The takeaway: less steering + better tool use = faster overall results, even with a larger model.
View original postThe team shares a single CLAUDE.md file for the Claude Code repo, checked into git. The whole team contributes multiple times a week.
During code review, Boris tags @.claude on PRs to add learnings to the CLAUDE.md as part of the PR itself.
They use the Claude Code GitHub Action (/install-github-action) for this. Boris calls it their version of "Compounding Engineering" — inspired by Dan Shipper's concept.
Most sessions start in Plan mode (shift+tab twice). Boris iterates on the plan with Claude until it's solid, then switches to auto-accept mode.
"A good plan is really important to avoid issues down the line."
View original postBoris uses slash commands for workflows he does many times a day. This saves repeated prompting, and Claude can use them too.
Commands are checked into git under .claude/commands/ and shared with the team.
Boris thinks of subagents as automations for the most common PR workflows:
The team uses a PostToolUse hook to auto-format Claude's code. While Claude generates well-formatted code 90% of the time, the hook catches edge cases to prevent CI failures.
Instead of --dangerously-skip-permissions, Boris uses /permissions to pre-allow common safe commands. Most are shared in .claude/settings.json.
Claude Code uses all of Boris's tools autonomously:
For very long-running tasks, Boris ensures Claude can work uninterrupted:
For sandboxed environments, he'll use --permission-mode=dontAsk or --dangerously-skip-permissions to avoid blocks.
This is Boris's #1 tip:
For his own changes to claude.ai/code, Claude uses the Claude Chrome extension to open a browser, test UI changes, and iterate until it works perfectly.
Verification varies by domain: Bash commands, test suites, simulators, browser testing, etc. The key is giving Claude a way to close the feedback loop.
Boris shared 10 more tips on January 31, 2026. These are sourced directly from the Claude Code team — remember, everyone's setup is different. Experiment to see what works for you!
@bcherny's January 31, 2026 threadSpin up 3-5 git worktrees at once, each running its own Claude session in parallel. It's the single biggest productivity unlock, and the top tip from the team.
Some people also name their worktrees and set up shell aliases (za, zb, zc) so they can hop between them in one keystroke. Others have a dedicated "analysis" worktree that's only for reading logs and running BigQuery.
Pour your energy into the plan so Claude can 1-shot the implementation. Don't keep pushing when things go sideways — switch back to plan mode and re-plan.
They also explicitly tell Claude to enter plan mode for verification steps, not just for the build.
After every correction, end with: "Update your CLAUDE.md so you don't make that mistake again." Claude is eerily good at writing rules for itself.
One engineer tells Claude to maintain a notes directory for every task/project, updated after every PR. They then point CLAUDE.md at it.
Create your own skills and commit them to git. Reuse across every project.
Enable the Slack MCP, then paste a Slack bug thread into Claude and just say "fix." Zero context switching required.
Or, just say "Go fix the failing CI tests." Don't micromanage how.
a. Challenge Claude. Say "Grill me on these changes and don't make a PR until I pass your test." Make Claude be your reviewer. Or, say "Prove to me this works" and have Claude diff behavior between main and your feature branch.
b. After a mediocre fix, say: "Knowing everything you know now, scrap this and implement the elegant solution."
c. Write detailed specs and reduce ambiguity before handing work off. The more specific you are, the better the output.
The team loves Ghostty! Multiple people like its synchronized rendering, 24-bit color, and proper unicode support.
For easier Claude-juggling, use /statusline to customize your status bar to always show context usage and current git branch. Many of us also color-code and name our terminal tabs, sometimes using tmux — one tab per task/worktree.
a. Append "use subagents" to any request where you want Claude to throw more compute at the problem.
b. Offload individual tasks to subagents to keep your main agent's context window clean and focused.
c. Route permission requests to Opus 4.5 via a hook — let it scan for attacks and auto-approve the safe ones.
Ask Claude Code to use the "bq" CLI to pull and analyze metrics on the fly. We have a BigQuery skill checked into the codebase, and everyone on the team uses it for analytics queries directly in Claude Code.
This works for any database that has a CLI, MCP, or API.
View original postA few tips from the team to use Claude Code for learning:
a. Enable the "Explanatory" or "Learning" output style in /config to have Claude explain the why behind its changes.
b. Have Claude generate a visual HTML presentation explaining unfamiliar code. It makes surprisingly good slides!
c. Ask Claude to draw ASCII diagrams of new protocols and codebases to help you understand them.
d. Build a spaced-repetition learning skill: you explain your understanding, Claude asks follow-ups to fill gaps, stores the result.
Boris shared 12 more tips on February 11, 2026. This time the theme is customization — hooks, plugins, agents, permissions, and all the ways to make Claude Code your own.
@bcherny's February 11, 2026 threadA few quick settings to make Claude Code feel right in your terminal:
/config to set light/dark mode/terminal-setup to enable shift+enter for newlines (so you don't need to type \)/vimRun /model to pick your preferred effort level:
Personally, I use High for everything.
Plugins let you install LSPs (now available for every major language), MCPs, skills, agents, and custom hooks.
Install a plugin from the official Anthropic plugin marketplace, or create your own marketplace for your company. Then, check the settings.json into your codebase to auto-add the marketplaces for your team.
/plugin to browse and install plugins.
To create custom agents, drop .md files in .claude/agents. Each agent can have a custom name, color, tool set, pre-allowed and pre-disallowed tools, permission mode, and model.
"agent" field in your settings.json or use the --agent flag.
Run /agents to get started.
Claude Code uses a sophisticated permission system with a combo of prompt injection detection, static analysis, sandboxing, and human oversight.
Out of the box, we pre-approve a small set of safe commands. To pre-approve more, run /permissions and add to the allow and block lists. Check these into your team's settings.json.
"Bash(bun run *)" or "Edit(/docs/**)"
Opt into Claude Code's open source sandbox runtime to improve safety while reducing permission prompts.
Run /sandbox to enable it. Sandboxing runs on your machine, and supports both file and network isolation. Windows support coming soon.
Custom status lines show up right below the composer, and let you show model, directory, remaining context, cost, and pretty much anything else you want to see while you work.
Everyone on the Claude Code team has a different statusline. Use /statusline to get started, to have Claude generate a statusline for you based on your .bashrc/.zshrc.
Did you know every key binding in Claude Code is customizable?
Run /keybindings to re-map any key. Settings live reload so you can see how it feels immediately.
~/.claude/keybindings.json. Claude can generate the config for you — just describe what you want.
Hooks are a way to deterministically hook into Claude's lifecycle. Use them to:
Ask Claude to add a hook to get started.
View original postIt's the little things that make CC feel personal. Ask Claude to customize your spinner verbs to add or replace the default list with your own verbs.
Check the settings.json into source control to share verbs with your team.
Run /config and set an output style to have Claude respond using a different tone or format.
Claude Code is built to work great out of the box. When you do customize, check your settings.json into git so your team can benefit, too.
We support configuring for your codebase, for a sub-folder, for just yourself, or via enterprise-wide policies.
"env" field in your settings.json to avoid wrapper scripts).
Boris announced built-in git worktree support for Claude Code on February 20, 2026. Agents can now run in parallel without interfering with each other — in CLI, Desktop app, IDE extensions, web, and mobile.
@bcherny's February 20, 2026 threadclaude --worktree for IsolationTo run Claude Code in its own git worktree, just start it with the --worktree option. You can name your worktree, or have Claude name it for you.
Use this to run multiple parallel Claude Code sessions in the same git repo, without the code edits clobbering each other.
If you prefer not to use the terminal, head to the Code tab in the Claude Desktop app and check the worktree checkbox.
Subagents can also use worktree isolation to do more work in parallel. This is especially powerful for large batched changes and code migrations.
To use it, ask Claude to use worktrees for its agents. Available in CLI, Desktop app, IDE extensions, web, and Claude Code mobile app.
You can also make subagents always run in their own worktree. To do that, just add isolation: worktree to your agent frontmatter.
If you're a Mercurial, Perforce, or SVN user, define worktree hooks to benefit from isolation without having to use Git.
Boris announced two new built-in skills for Claude Code on February 27, 2026: /simplify to improve code quality and /batch to automate code migrations in parallel. Combined, these automate much of the work it used to take to shepherd a PR to production and perform parallelizable code migrations.
@bcherny's February 27, 2026 threadUse parallel agents to improve code quality, tune code efficiency, and ensure CLAUDE.md compliance. Just append /simplify to any prompt.
Interactively plan out code migrations, then execute in parallel using dozens of agents. Each agent runs with full isolation using git worktrees, testing its work before putting up a PR.
/loop lets Claude run recurring tasks for up to 3 days unattended. Code Review dispatches a team of agents on every PR. /btw lets you ask questions mid-task without breaking Claude's flow.
@bcherny's March 7, 2026 thread @bcherny's March 9, 2026 thread @trq212's March 10, 2026 threadUse /loop to schedule recurring tasks for up to 3 days at a time. Claude runs your prompt on an interval, handling long-running workflows autonomously.
When a PR opens, Claude dispatches a team of agents to hunt for bugs. Anthropic built it for themselves first — code output per engineer is up 200% this year, and reviews were the bottleneck.
Boris personally used it for weeks before launch. It catches real bugs he wouldn't have noticed otherwise.
A slash command for side-chain conversations while Claude is actively working. Single-turn, no tool calls, but has full context of the conversation. Built by @ErikSchluntz as a side project — 1.5M views on the launch tweet.
The Claude Code team dropped 8 features in one thread: /effort max for deeper reasoning, voice mode for everyone, remote control sessions, setup scripts, session naming, /color, and a new PostCompact hook.
@trq212's March 13, 2026 threadSet effort to 'max' and Claude reasons for longer, using as many tokens as needed. Burns through your usage limits faster, so you activate it per session.
Run claude remote-control and then spawn a new local session directly from the mobile app. Available on Max, Team, and Enterprise (v2.1.74+).
Voice mode is now rolled out to 100% of users, including in Claude Code Desktop and Cowork. Sometimes you need somebody to talk to.
Add a setup script in Claude Code on the web and desktop. It runs before Claude Code launches on a cloud environment — install dependencies, configure settings, set env vars.
Name your session at launch with the --name flag. Makes it easy to identify sessions when running multiple in parallel.
After plan mode, Claude will automatically name your session based on what you're working on. No manual naming needed.
claude --name — use --name when you know what you're doing upfront, and let auto-naming handle it when you start by planning.
Change the color of the prompt input with /color. Useful for visually distinguishing sessions when running multiple in parallel.
A new hook event: PostCompact. Fires after Claude compresses its conversation context, letting you inject instructions or run commands when compaction happens.
Auto mode kills permission prompts with built-in safety classifiers, /schedule creates cloud-based recurring jobs that run beyond your laptop, iMessage becomes a channel, and auto-dream keeps your memory clean.
@noahzweben's March 23, 2026 post @bcherny's March 24, 2026 post @trq212's March 25, 2026 postInstead of approving every file write and bash command, or skipping permissions entirely with --dangerously-skip-permissions, auto mode lets Claude make permission decisions on your behalf.
Boris's take: "no 👏 more 👏 permission prompts 👏"
View original postUse /schedule to create recurring cloud-based jobs for Claude, directly from the terminal. Unlike /loop (which runs locally for up to 3 days), scheduled jobs run in the cloud — they work even when your laptop is closed.
iMessage is now available as a Claude Code channel. Install the plugin and text Claude like you'd text a friend — from any Apple device.
Claude Code now has a built-in memory system. Run /memory to configure it.
Boris's favorite hidden and under-utilized features in Claude Code. Mobile app, session teleporting, /loop and /schedule, hooks, Cowork Dispatch, Chrome extension, Desktop app, /branch, /btw, worktrees, /batch, --bare, --add-dir, --agent, and /voice.
@bcherny's March 29, 2026 threadDid you know Claude Code has a mobile app? Boris writes a lot of his code from the iOS app. It's a convenient way to make changes without opening a laptop.
Move sessions back and forth between mobile/web/desktop and terminal.
Two of the most powerful features in Claude Code. Use these to schedule Claude to run automatically at a set interval, for up to a week at a time.
Use hooks to deterministically run logic as part of the agent lifecycle.
See code.claude.com/docs/en/hooks
View original postBoris uses Dispatch every day to catch up on Slack and emails, manage files, and do things on his laptop when he's not at a computer.
"When I'm not coding, I'm dispatching."
The most important tip for using Claude Code is: give Claude a way to verify its output. Once you do that, Claude will iterate until the result is great.
Think of it like any other engineer: if you ask someone to build a website but they aren't allowed to use a browser, will the result look good? Probably not. But if you give them a browser, they will write code and iterate until it looks good.
Download the extension for Chrome/Edge.
View original postUse the Claude Desktop app to have Claude automatically start and test web servers.
People often ask how to fork an existing session. Two ways:
Boris uses this all the time to answer quick questions while the agent works.
Claude Code ships with deep support for git worktrees. Worktrees are essential for doing lots of parallel work in the same repository. Boris has dozens of Claudes running at all times.
/batch interviews you, then has Claude fan out the work to as many worktree agents as it takes (dozens, hundreds, even thousands) to get it done.
By default, when you run claude -p (or the TypeScript or Python SDKs) it searches for local CLAUDE.md's, settings, and MCPs. But for non-interactive usage, most of the time you want to explicitly specify what to load.
When working across multiple repositories, Boris usually starts Claude in one repo and uses --add-dir (or /add-dir) to let Claude see the other repo. This tells Claude about the repo and gives it permissions to work in it.
"additionalDirectories" to your team's settings.json to always load in additional folders when starting Claude Code.
Custom agents are a powerful primitive that often gets overlooked.
.claude/agents, then run claude --agent=<your agent's name>. Each agent can have a custom name, color, tool set, and system prompt.
Fun fact: Boris does most of his coding by speaking to Claude, rather than typing.
/voice then hold the space barFresh out of Anthropic this week. Routines — schedule Claude Code runs or trigger them from GitHub events. Three session management tips from Thariq on the 1M context window: /rewind over correcting, /compact vs /clear, and a one-line env var to dodge context rot. Plus three from Cat on using Opus 4.7: delegate, full-context briefs, and the new xhigh effort level.
@claudeai's April 14, 2026 post @trq212's April 15, 2026 article @_catwu's April 16, 2026 postClaude announced Routines in Claude Code — research preview, Apr 14 2026. Configure a routine once (prompt, repo, connectors), and it runs on a schedule, from an API call, or in response to a GitHub event. Runs on Anthropic infra — no laptop needed.
Example use case: POST an alert payload to the routine's webhook. Claude finds the owning service and posts a triage summary to #oncall.
View original postFrom Thariq (Apr 15, 2026): the single habit that signals good context management is rewind, not correction.
When Claude goes down a wrong path, don't type "that didn't work, try X instead." That keeps the failed attempt in your context and pollutes the window. Instead, rewind and re-prompt with what you learned.
You can also use "summarize from here" to have Claude summarize its learnings into a handoff message before rewinding — a message from the next iteration of Claude to its past self.
Two ways to shed weight from a long session. They feel similar but behave very differently.
Rule of thumb: starting a genuinely new task → new session with /clear. Related task where you still need some context → /compact with a hint.
Context rot — model performance degrading as context grows — kicks in around 300-400k tokens on the 1M context model. You can set your autocompact threshold to force earlier compaction and effectively lower your context window.
Pair with proactive /compact <hint> when you feel bad-compact risk (autocompact fires mid-task and summarizes the wrong things).
Docs: Claude Code settings
View original postFrom Cat Wu (Apr 16, 2026) on Opus 4.7 in Claude Code: "The model performs best if you treat it like an engineer you're delegating to, not a pair programmer you're guiding line by line."
This is a mental model shift. The old workflow: describe a step, watch the output, correct, describe the next step. High interrupt frequency, you're always in the loop.
When Claude asks too many clarifying questions or goes off-track, that's usually a signal that your brief was incomplete — not that the model needs more hand-holding. Invest in the upfront brief (see next tip) and let Opus 4.7 do its thing.
View original postThe delegation model from Tip 5 only works if Claude has what it needs. Cat's second tip: "Give Claude Code your full task context upfront: goal, constraints, acceptance criteria in the first turn."
If Claude starts with all three, it plans around the full problem space. If it starts with just "add rate limiting," it'll make assumptions you'll have to correct later — and every correction costs context.
View original postOpus 4.7 in Claude Code defaults to xhigh — a new effort level beyond the low/medium/high/max scale Tip 34 described. The model reasons longer before acting, which pairs with the delegation shift: think harder once, rather than iterate fast and bounce back to you.
Drop it down if you want speed over depth, or leave it alone for most work. Available through /effort just like the other levels.
Boris dogfooded Opus 4.7 for weeks before launch. His verdict: "It feels more intelligent, agentic, and precise than 4.6. It took a few days for me to learn how to work with it effectively." Here's what he learned — plus key behavioral shifts from the Anthropic blog. Auto mode, /fewer-permission-prompts, recaps, /focus, effort mastery, the /go composite skill, and what changed under the hood.
@bcherny's April 16, 2026 thread Anthropic blog postOpus 4.7 loves complex, long-running tasks — deep research, refactoring code, building complex features, iterating until it hits a performance benchmark. In the past, you either had to babysit the model or use --dangerously-skip-permissions.
Shift-tab to enter auto mode in the CLI, or choose it in the dropdown in Desktop or VSCode. Available for Max, Teams, and Enterprise.
View original postA new skill that scans through your session history to find common bash and MCP commands that are safe but caused repeated permission prompts.
Shipped alongside Opus 4.7. Recaps are short summaries of what an agent did and what's next. Useful when returning to a long-running session after a few minutes or a few hours.
Pairs naturally with auto mode — you launch Claude, switch focus, come back, and immediately see what happened and what's next without scrolling through tool output. Disable in /config if you prefer the old behavior.
Boris: "I've been loving the new focus mode in the CLI, which hides all the intermediate work to just focus on the final result. The model has reached a point where I generally trust it to run the right commands and make the right edits. I just look at the final result."
Opus 4.7 uses adaptive thinking instead of fixed thinking budgets. The model decides when thinking is beneficial rather than using a fixed allocation — less overthinking, smarter resource use.
To steer thinking without changing effort: say "Think carefully and step-by-step before responding" for harder problems, or "Prioritize responding quickly rather than thinking deeply" to save tokens on simple tasks.
View original post"Give Claude a way to verify its work. This has always been a way to 2-3x what you get out of Claude, and with 4.7 it's more important than ever."
Boris's workflow these days: "Many of my prompts look like 'Claude do blah blah /go'."
/simplify skillVerification by domain: backend → make sure Claude knows how to start your server/service to test end to end. Frontend → use the Claude Chromium extension. Desktop apps → use computer use.
"For long running work, verification is important because that way when you come back to a task, you know the code works."
View original postIf you're upgrading from 4.6, three behavioral changes matter. Don't assume your old habits carry over — Opus 4.7 thinks differently.
Source: Anthropic blog post
With auto mode + focus mode, you're spending less time watching Claude work. But you need to know when it finishes. Set up notifications so you don't have to keep checking back.
Stop hook to trigger a notification (Slack, system notification, etc.)The workflow that pulls this all together: start Claude in auto mode with focus on. It runs autonomously, verifies its own work via /go, and notifies you when done. You review the recap and the PR. The future Boris described in Part 1 is here.
Source: Anthropic blog post
Anthropic runs hundreds of skills internally. Thariq cataloged what works, what doesn't, and how to think about building them. 9 skill types, 9 authoring tips, and distribution strategies from production use. We turned his post into a skill. Obviously.
@trq212's March 17, 2026 postGet the full guide available directly in Claude Code. Type /thariq-skills anytime to surface it.
Covers all 9 skill types, authoring best practices, progressive disclosure patterns, distribution strategies, and the gotchas Anthropic discovered running hundreds of skills in production.
After cataloging all their skills, Anthropic noticed they cluster into recurring categories. The best skills fit cleanly into one.
Internal libs, CLIs, SDKs, gotchas
billing-lib · platform-cli
Drive the running product to verify
signup-driver · checkout
IDs, field names, query patterns
funnel-query · grafana
Multi-tool workflows → one command
standup · weekly-recap
Framework-correct boilerplate
new-app · migration
Adversarial review, style, testing
adversarial · hypothesis
Commit, push, deploy safely
babysit-pr · deploy
Symptom → investigation → report
oncall · log-correlator
Safety-gated cleanup & maintenance
orphans · cost-investigation
The best practices from running hundreds of skills in production.
Get all 87 tips available directly in Claude Code. Type /boris anytime to surface these workflow patterns.
A skill is a knowledge file that lives on your machine. Once installed, Claude references it automatically when you ask about workflows — or on demand with /boris.
npm install -g @anthropic-ai/claude-code
Run this command in your terminal to install globally:
This installs globally to ~/.claude/skills/. For project-specific install, use .claude/skills/ instead.
Start a new Claude Code session and type:
You'll see the full tips document appear in your conversation. If you get "skill not found", verify the file exists: ls ~/.claude/skills/boris/SKILL.md
Prefer to download manually? Download SKILL.md and place it in:
Create the ~/.claude/skills/boris/ directory if it doesn't exist.
The skill automatically checks for updates when you type /boris. If a newer version is available, Claude will download it for you — no manual steps needed.
To uninstall: rm -rf ~/.claude/skills/boris/
Skills are markdown files with YAML frontmatter that Claude Code loads automatically. When you type /boris or ask about related topics, Claude surfaces this knowledge to help you. Skills can be user-invocable (slash commands) or auto-surfaced based on semantic matching.