How Boris Cherny Uses Claude Code Boris Cherny, creator of Claude Code at Anthropic, shared 13 practical tips for using the tool, including running 5 instances simultaneously in separate git checkouts, using Opus 4.5 with thinking mode for all tasks, and maintaining a shared CLAUDE.md file that the team updates via PR comments. His workflow emphasizes parallel sessions, plan mode, and slash commands to maximize efficiency. 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. Boris 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. Key detail Each tab runs in its own git checkout, so Claude can make changes in parallel without conflicts. Configure iTerm2 notifications to know when any Claude needs attention. ~/repo-1 $ Tab 1: Working on feature ~/repo-2 $ Tab 2: Running tests ~/repo-3 $ Tab 3: Code review ~/repo-4 $ Tab 4: Debugging ~/repo-5 $ Tab 5: Documentation 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. Key commands & — Background a session --teleport — Switch contexts between local and web Boris uses Opus 4.5 with thinking mode for every task. His reasoning: Why Opus over Sonnet "It's the best coding model I've ever used, and even though it's bigger & slower than Sonnet, since you have to steer it less and it's better at tool use, it is almost always faster than using a smaller model in the end." The takeaway: less steering + better tool use = faster overall results , even with a larger model. The team shares a single CLAUDE.md file for the Claude Code repo, checked into git. The whole team contributes multiple times a week. Key practice "Anytime we see Claude do something incorrectly we add it to the CLAUDE.md, so Claude knows not to do it next time." bash claude-cli $ cat CLAUDE.md Development Workflow Always use bun , not npm . 1. Make changes 2. Typecheck fast bun run typecheck 3. Run tests bun run test -- -t "test name" Single suite bun run test:file -- "glob" Specific files 4. Lint before committing bun run lint:file -- "file1.ts" Specific files bun run lint All files 5. Before creating PR bun run lint:claude && bun run test 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. // Example PR comment: nit: use a string literal, not ts enum @claude add to CLAUDE.md to never use enums, always prefer literal unions Result Claude automatically updates the CLAUDE.md and commits: "Prefer type over interface ; never use enum use string literal unions instead " 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. The workflow Plan mode → Refine plan → Auto-accept edits → Claude 1-shots it i want to improve progress notification rendering for skills. can you make it look and feel a bit more like subagent progress? ▮▮ plan mode on shift+tab to cycle "A good plan is really important to avoid issues down the line." Boris 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. /commit-push-pr /commit-push-pr Commit, push, and open a PR Power feature Slash commands can include inline Bash to pre-compute info like git status for quick execution without extra model calls. Boris thinks of subagents as automations for the most common PR workflows : Examples code-simplifier — Cleans up code after Claude finishes verify-app — Detailed instructions for end-to-end testing 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 . /permissions Permissions: Allow Ask Deny Workspace Claude Code won't ask before using allowed tools. ↑ 12. Bash bq query: 13. Bash bun run build: 14. Bash bun run lint:file: 15. Bash bun run test: 16. Bash bun run test:file: 17. Bash bun run typecheck: 18. Bash bun test: 19. Bash cc: 20. Bash comm: 21. Bash find: Claude Code uses all of Boris's tools autonomously: bash claude-cli-2 $ cat .mcp.json { "mcpServers": { "slack": { "type": "http", "url": "https://slack.mcp.anthropic.com/mcp" } } } For very long-running tasks, Boris ensures Claude can work uninterrupted: Options a Prompt Claude to verify with a background agent when done b Use an agent Stop hook for deterministic checks c Use the "ralph-wiggum" plugin community idea by @GeoffreyHuntley For sandboxed environments, he'll use --permission-mode=dontAsk or --dangerously-skip-permissions to avoid blocks. Reticulating... 1d 2h 47m · ↓ 2.4m tokens · thinking This is Boris's 1 tip: Key insight "Probably the most important thing to get great results out of Claude Code — give Claude a way to verify its work. If Claude has that feedback loop, it will 2-3x the quality of the final result." 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. Takeaway Invest in domain-specific verification for optimal performance. Claude tests every single change Boris lands to claude.ai/code. 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 Spin 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. Why worktrees over checkouts Most of the Claude Code team prefers worktrees — it's the reason @amorriscode built native support for them into the Claude Desktop app 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. bash $ git worktree add .claude/worktrees/my-worktree origin/main $ cd .claude/worktrees/my-worktree && claude Claude Code v2.1.29 Opus 4.5 · Claude Enterprise .claude/worktrees/my-worktree 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. Team patterns One person has one Claude write the plan, then they spin up a second Claude to review it as a staff engineer. Another says the moment something goes sideways, they 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 . Try "refactor cli.tsx" ▮▮ plan mode on shift+Tab to cycle 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. Key practice Ruthlessly edit your CLAUDE.md over time. Keep iterating until Claude's mistake rate measurably drops. One engineer tells Claude to maintain a notes directory for every task/project , updated after every PR. They then point CLAUDE.md at it. Memory files · /memory └ ~/.claude/CLAUDE.md: 76 tokens └ CLAUDE.md: 4k tokens Create your own skills and commit them to git . Reuse across every project. Tips from the team If you do something more than once a day, turn it into a skill or command Build a /techdebt slash command and run it at the end of every session to find and kill duplicated code Set up a slash command that syncs 7 days of Slack, GDrive, Asana, and GitHub into one context dump Build analytics-engineer-style agents that write dbt models, review code, and test changes in dev 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. Pro tip Point Claude at docker logs to troubleshoot distributed systems — it's surprisingly capable at this. fix this https://ant.slack.com/archives/... ● slack - search public MCP query: "in:C07VBS..." Searches for messages in public Slack ch... 'slack search public' does NOT generally for user consent to use 'slack search p... 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. Key insight Don't accept the first solution. Push Claude to do better — it usually can. 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. Voice dictation Use voice dictation. You speak 3x faster than you type, and your prompts get way more detailed as a result. Hit fn x2 on macOS ┌──────────────────────────────────────────┐ │ ● ● ● │ 1 ⌘1 │ 2 ● ⌘2 │ 3 ⌘3 │ 4 │ ├──────────────────────────────────────────┤ │ × Claude Code node │ │ │ │ Claude Code v2.1.29 │ │ Opus 4.5 · Claude Enterprise │ │ /code/claude │ └──────────────────────────────────────────┘ 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. use 5 subagents to explore the codebase ● I'll launch 5 explore agents in parallel to... ● Running 5 Explore agents... ctrl+o to expand ├─ Explore entry points and startup · 10 t... │ └ Bash: Find CLI or main entry files ├─ Explore React components structure · 14... │ └ Bash: ls -la /Users/boris/code/clau... ├─ Explore tools implementation · 14 tool... │ └ Bash: Find tool implementation files ├─ Explore state management · 13 tool uses │ └ Search: /screens/REPL.tsx └─ Explore testing infrastructure · 13 to... └ Search: test/mocks/ / .ts 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. Boris's take "Personally, I haven't written a line of SQL in 6+ months." This works for any database that has a CLI, MCP, or API . A 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. Key takeaway Claude Code isn't just for writing code — it's a powerful learning tool when you configure it to explain and teach. 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. A few quick settings to make Claude Code feel right in your terminal: Key settings Theme: Run /config to set light/dark mode Notifications: Enable notifications for iTerm2, or use a custom notifs hook Newlines: If you use Claude Code in an IDE terminal, Apple Terminal, Warp, or Alacritty, run /terminal-setup to enable shift+enter for newlines so you don't need to type \ Vim mode: Run /vim Run /model to pick your preferred effort level: Effort levels Low — less tokens & faster responses Medium — balanced behavior High — more tokens & more intelligence Personally, I use High for everything . ||| High effort default ← → to adjust Fast mode is ON and available with Opus 4.6 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. Getting started Run /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. Pro tip There's a little-known feature that lets you set the default agent used for the main conversation. Just set the "agent" field in your settings.json or use the --agent flag. use the sentry errors agent sentry-errors Fetch Sentry error logs Search pattern: "sentry", path: "src" +10 more tool uses ctrl+o to expand 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 . Wildcard syntax We support full wildcard syntax. Try "Bash bun run " or "Edit /docs/ " /permissions Permissions: Allow Ask Deny 52. Bash gh issue view: 53. Bash gh pr checks: 54. Bash gh pr comment: 55. Bash gh pr diff: 56. Bash gh pr list: 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. Sandbox modes Sandbox BashTool, with auto-allow — commands run in sandbox, auto-approved Sandbox BashTool, with regular permissions — sandbox + normal permission prompts No Sandbox — default behavior 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 . Opus 📁 my-app | 🌿 feature/auth █████████░░░░░░░░░ 42% | $0.08 | 🕐 7m 3s 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. How it works Keybindings are stored in ~/.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: Use cases Automatically route permission requests to Slack or Opus Nudge Claude to keep going when it reaches the end of a turn you can even kick off an agent or use a prompt to decide whether Claude should keep going Pre-process or post-process tool calls, e.g. to add your own logging Ask Claude to add a hook to get started. It'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. in my settings, make my spinner verbs star trek themed. ● Update ~/.claude/settings.json ✱ Beaming up… esc to interrupt Run /config and set an output style to have Claude respond using a different tone or format . Recommended styles Explanatory — great when getting familiar with a new codebase, to have Claude explain frameworks and code patterns as it works Learning — have Claude coach you through making code changes Custom — create your own output styles to adjust Claude's voice the way you like 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 . By the numbers Pick a behavior, and it is likely that you can configure it. We support 37 settings and 84 env vars use the "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. claude --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. bash $ claude --worktree my worktree You can also pass --tmux to launch in its own Tmux session $ claude --worktree my worktree --tmux What changed The Claude Code Desktop app has had built-in support for worktrees for a while — now it's in the CLI too. If you prefer not to use the terminal, head to the Code tab in the Claude Desktop app and check the worktree checkbox. How to enable Open the Claude Desktop app → Code tab → check the "worktree" checkbox. That's it. 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. Migrate all sync io to async. Batch up the changes, and launch 10 parallel agents with worktree isolation. Make sure each agent tests its changes end to end, then have it put up a PR. You can also make subagents always run in their own worktree . To do that, just add isolation: worktree to your agent frontmatter. .claude/agents/worktree-worker.md --- name: worktree-worker model: haiku isolation: worktree --- If you're a Mercurial, Perforce, or SVN user, define worktree hooks to benefit from isolation without having to use Git. bash $ cat .claude/settings.json { ... "hooks": { "WorktreeCreate": { "command": "jj workspace add \"$ cat /dev/stdin | jq -r '.name' \"" } , "WorktreeRemove": { "command": "jj workspace forget \"$ cat /dev/stdin | jq -r '.worktree path' \"" } }, ... } 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. Use parallel agents to improve code quality, tune code efficiency, and ensure CLAUDE.md compliance. Just append /simplify to any prompt. hey claude make this code change then run /simplify What it does Runs parallel agents that review your changed code for reuse opportunities, quality issues, and efficiency improvements — all in one pass. 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. /batch migrate src/ from Solid to React How it works You plan the migration interactively, then /batch fans out the work to parallel agents — each in its own worktree, each testing and creating a PR independently. /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. Use /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. /loop babysit all my PRs. Auto-fix build issues and when comments come in, use a worktree agent to fix them /loop every morning use the Slack MCP to give me a summary of top posts I was tagged in What it does Schedules a prompt to run on a recurring interval. Use it for PR babysitting, Slack summaries, deploy monitoring, or any repeating workflow — running for up to 3 days unattended. 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 PR opens on your repo Claude Code automatically: 1. Reads the diff 2. Dispatches specialized review agents 3. Posts inline comments on real bugs What it does Automatically reviews every PR with a team of agents. Each agent focuses on a different concern — logic errors, security issues, performance regressions — then posts inline comments directly on the PR. 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. Claude is mid-task, refactoring auth middleware... /btw what does the retry logic do? Claude responds inline without stopping its work: The retry logic in auth.ts uses exponential backoff with a max of 3 attempts. It catches 401/403 errors and refreshes the token before retrying. What it does Lets you ask a quick question mid-task without interrupting Claude's flow. The response is single-turn with no tool calls, but Claude has full context of what it's working on — so answers are grounded in the current conversation. 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 . Set 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 . /effort max Four levels available: low - quick answers, minimal reasoning medium - balanced default high - deeper reasoning max - reasons as long as needed What it does Sets the reasoning effort level for the current session. At 'max', Claude thinks longer and uses more tokens per response — useful for hard debugging, architecture decisions, or tricky code where you want Claude to really think it through. 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+ . bash $ claude remote-control Then open the Claude mobile app Tap "Code" → start a new session Claude connects to your local machine What it does Lets you start fresh Claude Code sessions from your phone while connected to your local dev environment. Walk away from your desk, think of something, and kick off a task from mobile — Claude runs on your machine. Voice mode is now rolled out to 100% of users , including in Claude Code Desktop and Cowork. Sometimes you need somebody to talk to. In Claude Code Desktop or Cowork: Click the microphone icon Talk naturally — Claude hears you and responds 🎙 "Hey Claude, fix all the bugs in this repo." What it does Lets you speak to Claude Code instead of typing. Available in Desktop and Cowork — useful for hands-free coding, dictating complex requirements, or when you think faster than you type. 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. In "Update cloud environment" settings: Name: apps Setup script runs on new session start : /bin/bash yarn install What it does Runs a bash script automatically when a new Claude Code session starts on a cloud environment. Skipped when resuming an existing session. Use it to install dependencies, set up configs, or prepare the environment before Claude starts working. Name your session at launch with the --name flag. Makes it easy to identify sessions when running multiple in parallel. bash $ claude --name "auth-refactor" Now your session shows up as "auth-refactor" instead of a generic session ID What it does Gives your Claude Code session a human-readable name on start. Especially useful when juggling multiple worktrees or sessions — you can tell at a glance which session is doing what. After plan mode, Claude will automatically name your session based on what you're working on. No manual naming needed. Enter plan mode, describe your task: shift+tab plan Refactor the auth middleware to use JWT After exiting plan mode, session is auto-named: Session: "refactor-auth-jwt" What it does Claude infers a descriptive session name from your plan mode conversation. Pairs well with 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. /color Pick a color for this session's prompt Helps tell sessions apart at a glance What it does Sets the color of your prompt input for the current session. When you have 3-5 sessions open in different terminals, color-coding them makes it instantly clear which is which. A new hook event: PostCompact . Fires after Claude compresses its conversation context, letting you inject instructions or run commands when compaction happens. In your hooks config: "hooks": { "PostCompact": { "matcher": "", "hooks": { "type": "command", "command": "echo 'Context was compacted'" } } } What it does Fires after Claude compresses its context window. Use it to re-inject critical instructions that might get lost during compaction, log when compaction happens, or trigger any automation you need when the context resets. 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. Instead 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. bash Enable auto mode $ claude --enable-auto-mode Or cycle with shift+tab during a session: plan mode → auto mode → normal mode How it works Anthropic built and tested classifiers that evaluate each action before it runs. Safe operations reading files, running tests get auto-approved. Risky ones deleting files, force-pushing, running unknown scripts still get flagged. It's the middle ground between clicking "approve" 50 times per session and yolo-ing with no safety net. Boris's take: "no 👏 more 👏 permission prompts 👏" Use /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. Schedule a daily docs update $ /schedule a daily job that looks at all PRs shipped since yesterday and update our docs based on the changes. Use the Slack MCP to message docs-update with the changes Use cases The Anthropic team uses these internally to automatically resolve CI failures, push doc updates, and power automations that need to exist beyond a closed laptop. Think of it as cron jobs, but Claude does the work. 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. Install the iMessage plugin $ /plugin install imessage@claude-plugins-official What it does Claude Code becomes a contact in your Messages app. Send it tasks, get responses as iMessages. Works from your iPhone, iPad, or Mac — no terminal needed. Pairs well with remote control sessions for kicking off work from anywhere. Claude Code now has a built-in memory system. Run /memory to configure it. View and configure memory settings $ /memory Memory types: User memory → saved in ~/.claude/CLAUDE.md Project memory → saved in ./CLAUDE.md Trigger a dream memory consolidation $ /dream Auto-memory When enabled, Claude automatically saves preferences, corrections, and patterns between sessions. No manual CLAUDE.md editing needed — Claude writes the memories for you. Auto-dream As memory accumulates, it can get messy — outdated assumptions, overlapping notes, low-signal entries. Auto-dream runs a subagent that periodically reviews past sessions, keeps what matters, removes what doesn't, and merges insights into cleaner structured memory. The naming maps to how REM sleep consolidates short-term memory into long-term storage. 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 . Did 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. How to use it Download the Claude app for iOS/Android, then tap the Code tab on the left. You get a full Claude Code session right from your phone. Move sessions back and forth between mobile/web/desktop and terminal. bash Continue a cloud session on your machine $ claude --teleport or $ /teleport Control a local session from phone/web $ /remote-control Boris's setup "I have 'Enable Remote Control for all sessions' set in my /config." 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. Boris's running loops: $ /loop 5m /babysit auto-address code review, auto-rebase, shepherd PRs $ /loop 30m /slack-feedback auto put up PRs for Slack feedback every 30 mins $ /loop /post-merge-sweeper put up PRs to address missed code review comments $ /loop 1h /pr-pruner close out stale and unnecessary PRs Pro tip Experiment with turning workflows into skills + loops. It's powerful. Use hooks to deterministically run logic as part of the agent lifecycle. Examples Dynamically load in context each time you start Claude SessionStart Log every bash command the model runs PreToolUse Route permission prompts to WhatsApp for you to approve/deny PermissionRequest Poke Claude to keep going whenever it stops Stop See code.claude.com/docs/en/hooks https://code.claude.com/docs/en/hooks Boris 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." What it is Dispatch is a secure remote control for the Claude Desktop app. It can use your MCPs, browser, and computer, with your permission. 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. Boris's workflow "I use the Chrome extension every time I work on web code. It tends to work more reliably than other similar MCPs." Download the extension for Chrome/Edge https://code.claude.com/docs/en/browser . Better than Playwright or Chromium MCP for E2E Asked directly whether Claude in Chrome beats Playwright or a Chromium MCP for end-to-end tests, Boris: "Yes. It's more powerful and more token-efficient." The way he wires it into a long autonomous run is to hand verification to a workflow: use a workflow to test the result e2e in a browser using claude in chrome mcp. Especially look for edge cases and ui issues From Boris's June 2026 "running Opus autonomously" thread → Use the Claude Desktop app to have Claude automatically start and test web servers. What it does The Desktop app bundles in the ability for Claude to automatically run your web server and even test it in a built-in browser. You can set up something similar in CLI or VSCode using the Chrome extension, or just use the Desktop app. People often ask how to fork an existing session. Two ways: bash Option 1: From inside your session $ /branch Option 2: From the CLI $ claude --resume