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.
Get all 40 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 show you the update command.
Or re-run the install command anytime to manually update. 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.