~/adi
My Claude Code setup
This is a list of the various things I’ve done to my claude code setup. A lot of it is not well documented, so I’m pulling it together as a master list here.
Plan mode
Always hit shift-tab twice when starting a new session to have Claude plan first, then execute. Do the same when steering significantly, or starting a new task.
Background tasks
Add export ENABLE_BACKGROUND_TASKS=1
in your shell profile to allow claude to run long-running tasks in the background.
MCP servers
MCP servers can be local or remote. Installing them to claude code is either done by adding a block like:
"mcpServers": {
"puppeteer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"u/modelcontextprotocol/server-puppeteer"
],
"env": {}
}
}
to Claude Desktop config and running claude mcp add-from-claude-desktop
, or running a command like claude mcp add --transport http Ref https://api.ref.tools/mcp?apiKey=YOUR_API_KEY
.
Skip the Claude Desktop step (unless you also want Claude Desktop to have those MCPs) and add the code block directly to ~/.claude.json
.
When installing via the CLI, add -s user
to populate the same part of the config file and use those MCPs from anywhere.
Documentation
There are a lot of recommendations for the context7 MCP server, but I find Ref faster, more reliable, and token-efficient. There’s a generous free tier1, so it’s worth a try. Here’s a side-by-side comparison on finding docs for Apple’s Foundation Models framework:
Teleoperation
I still use my custom mobile dev setup, but VibeTunnel is far easier to set up, and has a bunch of nice UX improvements like mouse mode and session management. A setup like this let’s me easily switch from my laptop to my phone, and continue working on stuff AFK. Having a server helps, but you can run it off a laptop too2
Optimisation
There’s a lot of buzz about frameworks like SuperClaude but I’m pretty sure it doesn’t work, and significantly pollutes the context window. Rather than installing and learning a framework like this, I prefer to:
- optimise my global and project-level
CLAUDE.md
- add custom commands for things I do often
- add MCPs sparingly
Configuring and optimising these tools is still very vibe-based, so it’s surprisingly easy to fool yourself into thinking something works and adding layers of complexity you don’t understand and don’t need. Keep it simple, stupid!
© 2025 Adi Mukherjee. Credits.