I wanted to share a bunch of my favorite hidden and under-utilized features in Claude Code. I'll focus on the ones I use the most.
Here goes.
1/ Did you know Claude Code has a mobile app?
Personally, I write a lot of my code from the iOS app. It's a convenient way to make changes without opening a laptop.
Download the Claude app for iOS/Android > Code tab on the left.
2/ Move sessions back and forth between mobile/web/desktop and terminal
Run "claude --teleport" or /teleport to continue a cloud session on your machine.
Or run /remote-control to control a locally running session from your phone/web. Personally, I have "Enable Remote Control for all sessions" set in my /config.
3/ Two of the most powerful features in Claude Code: /loop and /schedule
Use these to schedule Claude to run automatically at a set interval, for up to a week at a time.
I have a bunch of loops running locally:
- /loop 5m /babysit, to auto-address code review, auto-rebase, and shepherd my PRs to production
- /loop 30m /slack-feedback, to automatically put up PRs for Slack feedback every 30 mins
- /loop /post-merge-sweeper to put up PRs to address code review comments I missed
- /loop 1h /pr-pruner to close out stale and no longer necessary PRs
- lots more!..
Experiment with turning workflows into skills + loops. It's powerful.
4/ Use hooks to deterministically run logic as part of the agent lifecycle
For example, use hooks to:
- 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)
I use Dispatch every day to catch up on Slack and emails, manage files, and do things on my laptop when I'm not at a computer. When I'm not coding, I'm dispatching.
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.
Personally, I use the Chrome extension every time I work on web code. It tends to work more reliably than other similar MCPs.
People often ask how to fork an existing session. Two ways:
1. Run /branch from your session 2. From the CLI, run claude --resume <session-id> --fork-session
9/ Use /btw for side queries
I use this all the time to answer quick questions while the agent works
10/ Use git worktrees
Claude Code ships with deep support for git worktrees. Worktrees are essential for doing lots of parallel work in the same repository. I have dozens of Claudes running at all times, and this is how I do it.
Use claude -w to start a new session in a worktree, or hit the "worktree" checkbox in the Claude Desktop app.
For non-git VCS users, use the WorktreeCreate hook to add your own logic for worktree creation.
12/ Use --bare to speed up SDK startup by up to 10x
By default, when you run claude -p (or the TypeScript or Python SDKs) we search 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 via --system-prompt, --mcp-config, --settings, etc.
This was a design oversight when we first built the SDK, and in a future version, we will flip the default to --bare. For now, opt in with the flag.
13/ Use --add-dir to give Claude access to more folders
When working across multiple repositories, I usually start Claude in one repo and use --add-dir (or /add-dir) to let Claude see the other repo. This not only tells Claude about the repo, but also gives it permissions to work in the repo.
Or, add "additionalDirectories" to your team's settings.json to always load in additional folders when starting Claude Code.
We're introducing two new Skills: /simplify and /batch. I have been using both daily, and am excited to share them with everyone.
Combined, these kills automate much of the work it used to take to (1) shepherd a pull request to production and (2) perform straightforward, parallelizable code migrations.
/simplify
Use parallel agents to improve code quality, tune code efficiency, and ensure CLAUDE.md compliance.
Usage: "hey claude make this code change then run /simplify"
/batch
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.
Reflecting on what engineers love about Claude Code, one thing that jumps out is its customizability: hooks, plugins, LSPs, MCPs, skills, effort, custom agents, status lines, output styles, etc.
Every engineer uses their tools differently. We built Claude Code from the ground up to not just have great defaults, but to also be incredibly customizable. This is a reason why developers fall in love with the product, and why Claude Code's growth continues to accelerate.
I wanted to share a few ways we're seeing people and teams customize their Claudes.
1/ Configure your terminal
- Theme: Run /config to set light/dark mode
- Notifs: 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. Set it to:
- Low, for less tokens & faster responses
- Medium, for balanced behavior
- High, for more tokens & more intelligence
I'm Boris and I created Claude Code. I wanted to quickly share a few tips for using Claude Code, sourced directly from the Claude Code team. The way the team uses Claude is different than how I use it. Remember: there is no one right way to use Claude Code -- everyones' setup is different. You should experiment to see what works for you!
1. Do more in parallel
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. Personally, I use multiple git checkouts, but 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
2. Start every complex task in plan mode. Pour your energy into the plan so Claude can 1-shot the implementation.
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. Don't keep pushing. They also explicitly tell Claude to enter plan mode for verification steps, not just for the build
It's late 2024, a few days after I launched the first version of Claude Code (then called Claude CLI) to team dogfooding. I walked into the office and saw my coworker Robert with a terminal up on his computer, Claude CLI running and a red/green diff view on screen.
I was surprised. This was back in the Sonnet 3.5 days, before the model was good at agentic coding. I had just given it a FileEdit tool the day before. Claude CLI was a prototype that I thought it wasn't useful for anything yet. But Robert was already starting to use it to write code & use git for him. I was still using the CLI as a note taker mostly, but I also started making it my go-to tool for using git as a result.
A couple months later, many engineers & researchers at Anthropic were using Claude daily. There was one day I remember walking into the office and saw a Claude Code terminal up on our data scientist's computer monitor! I asked if he was trying out Claude Code, and was shocked to learn that he was using it to do his work, to write and run SQL queries for an analysis, and to make little ascii plots in the terminal and using matplotlib.
We built Claude Code for engineers, and here was a data scientist using it to do his work too. The next week, the entire row of data scientists had Claude Code up on their screens.
Over the next few months, this happened over and over. First our designer started using Claude Code for prototypes and content fixes, then our finance person used it to build models and do financial forecasting, Sales used it to analyze data from Salesforce and bigquery, our user researcher used it to crunch survey results.
Fast forward to today, and people are using Claude Code to control their oven, recover wedding photos from a busted hard drive, analyze their DNA and medical records, haggle with customer support.
I'm Boris and I created Claude Code. Lots of people have asked how I use Claude Code, so I wanted to show off my setup a bit.
My setup might be surprisingly vanilla! Claude Code works great out of the box, so I personally don't customize it much. There is no one correct way to use Claude Code: we intentionally build it in a way that you can use it, customize it, and hack it however you like. Each person on the Claude Code team uses it very differently.
So, here goes.
1/ I run 5 Claudes in parallel in my terminal. I number my tabs 1-5, and use system notifications to know when a Claude needs input code.claude.com/docs/en/termin…
2/ I also run 5-10 Claudes on claude.ai/code, in parallel with my local Claudes. As I code in my terminal, I will often hand off local sessions to web (using &), or manually kick off sessions in Chrome, and sometimes I will --teleport back and forth. I also start a few sessions from my phone (from the Claude iOS app) every morning and throughout the day, and check in on them later.