The first Claude Code tips worth acting on are about your environment, not your prompts: a status line that shows how full your context is, a handful of everyday slash commands, input-box shortcuts, shell aliases, and a terser response style.
This article opens a series that walks through all 50 tips in YK Sugi's claude-code-tips repo, a collection of Claude Code advice with more than 10,000 stars on GitHub. Part one groups the eight "set it once, use it forever" tips: numbers 0, 1, 7, 22, 38, 45, 46, and 49 in the repo.
Each tip below takes a few minutes to set up, and you get the return on it in every session after that.
What should your status line track?
The status line is the strip of text under Claude Code's input box, and you can drive it with any script you like. The most useful setup shows the model, the current directory, the git branch, the count of uncommitted files, sync status with origin, and a progress bar for how much of the context window you have used.
The repo ships a context-bar.sh script that prints two lines like the ones below. The second line repeats your most recent message, so when you come back to an abandoned tab you know at a glance what you were doing:
Opus 4.5 | 📁claude-code-tips | 🔀main (scripts/context-bar.sh uncommitted, synced 12m ago) | ██░░░░░░░░ 18% of 200k tokens
💬 This is good. I don't think we need to change the documentation...
To install it, copy the script into ~/.claude/scripts/, make it executable, and register it in ~/.claude/settings.json:
mkdir -p ~/.claude/scripts
cp context-bar.sh ~/.claude/scripts/
chmod +x ~/.claude/scripts/context-bar.sh{
"statusLine": {
"type": "command",
"command": "~/.claude/scripts/context-bar.sh"
}
}The script needs jq and bash, uses git if present for the branch, and is verified on Claude Code 2.0.65 and later. Claude Code passes session data to the script on stdin as JSON, with fields such as model.display_name, cwd, context_window.total_input_tokens, and context_window.context_window_size, so writing your own is entirely doable. To change colors, edit the COLOR variable at the top of the file; there are 10 themes, from orange, blue, and teal to gray. To me the context percentage is the whole point: watching it climb past 60% or 70% tells you when it is time to clean up, which is what part two of the series covers.
Which slash commands are worth memorizing?
Type / in Claude Code and you get the full list of built-in slash commands, but about five of them earn daily use: /usage, /chrome, /mcp, /stats, and /clear. For a fuller reference, see the Claude Code commands cheatsheet.
| Command | What it does |
|---|---|
/usage | Shows your rate limits: current session, current week across all models, current week for Fable, with reset times |
/chrome | Turns the native Chrome integration on or off and manages its permissions; same as claude --chrome / claude --no-chrome |
/mcp | Manages MCP servers: which are connected and how many tools each exposes |
/stats | A GitHub-style activity graph, favorite model, total tokens, sessions, longest session, streaks |
/clear | Clears the conversation so you start fresh |
One small trick with /usage: if you are running close to your limits and want to watch every percentage point, keep it open in its own tab and press Tab then Shift+Tab (or ← then →) to refresh. /stats is mostly for fun. The example in the repo shows 755.6 million tokens across 157 sessions, a longest session of 16 hours 45 minutes, and a note that your input and output are "~12x the tokens in Moby-Dick". If you keep hitting the ceiling, how to avoid Claude Code usage limits goes deeper.
Why turn on the Concise output style?
The Concise output style makes Claude lead with the result and drop the preamble, the step-by-step narration, and the closing recap. A simple question gets a one-to-three-sentence answer, while the engineering work underneath is just as thorough as in the default style.
There are two ways to turn it on. Run /config, open Output style, and pick Concise, or write it directly into ~/.claude/settings.json. It requires Claude Code v2.1.237 or later, and style names are case-sensitive, so it has to be exactly Concise:
{
"outputStyle": "Concise"
}Before switching, you occasionally have to tell Claude something like "you're talking too much, can you give me a TLDR?" After switching, that becomes rare. Better still, the style only shapes the visible response text, not the thinking, so you are not trading reasoning quality for brevity. I think it is the right default for most people; when you need more detail, ask one follow-up question.
What shortcuts does the input box support?
Claude Code's input box emulates the familiar readline shortcuts from bash and zsh, so if you live in a terminal there is almost nothing to relearn. The ones you will reach for most move the cursor, delete quickly, or open the prompt in an external editor.
| Shortcut | Effect |
|---|---|
Ctrl+A / Ctrl+E | Jump to the start / end of the line |
Option+←/→ (Mac) or Alt+←/→ | Jump backward / forward by word |
Ctrl+W | Delete back to the previous whitespace |
Ctrl+U / Ctrl+K | Delete to the start / end of the line |
Ctrl+C | Clear the current input |
Ctrl+G | Open the prompt in an external editor |
Ctrl+V (Mac/Linux), Alt+V (Windows) | Paste an image from the clipboard |
Ctrl+G is especially handy for long pastes, since pasting straight into a terminal can be slow. It opens whatever your EDITOR environment variable points at: set it in ~/.zshrc / ~/.bashrc with export EDITOR=vim, or in the env block of ~/.claude/settings.json (restart Claude Code afterwards).
For a newline inside a prompt, the safest method is \ followed by Enter, which works in every terminal with no setup. If you want a key combination, run /terminal-setup. In macOS Terminal.app, Option+Enter works once you tick "Use Option as Meta key" under Terminal → Settings → Profiles → Keyboard. One more note on images: on a Mac it is Ctrl+V, not Cmd+V (iTerm2 is the exception, where Cmd+V also works). And if the predicted next message that appears in the input box annoys you, switch off "Prompt suggestions" in /config, or set "promptSuggestionEnabled": false in settings.
How much do aliases and realpath save?
Once Claude Code keeps you in the terminal more, a few short shell aliases let you launch tools with one or two keystrokes. The repo's set revolves around c, which is also the alias that gets used most:
alias c='claude'
alias ch='claude --chrome'
alias cr='claude remote-control'
alias gb='github'
alias co='code'
alias q='cd ~/Desktop/projects'ch starts Claude Code with Chrome integration, cr starts a Remote Control server you can drive from your phone (part seven covers it), gb opens GitHub Desktop, co opens VS Code, and q jumps to the folder that holds your projects. From there you either cd into one project or run c in the parent folder so Claude can reach any project it needs. Aliases combine with flags: c -c continues your last conversation, c -r lists recent ones to resume, and ch -c and ch -r work the same way.
The small companion tip is realpath. When you need to point Claude at a file in a different folder, run realpath some/relative/path to get the absolute path and paste that into your prompt. It sounds trivial, but it removes a familiar failure: Claude misreading a relative path because it is standing in a different directory than you are.
How do you switch between multiple Claude accounts?
If you have two Claude accounts, say one for work and one personal, the fastest switch is the CLAUDE_CODE_OAUTH_TOKEN environment variable. On macOS your login lives in a single Keychain entry, but this variable takes precedence over it, so you can launch Claude Code as exactly the account you want. It works on Linux and Windows too, where the login lives in ~/.claude/.credentials.json.
First, mint a long-lived token (valid for about a year) for each account with claude setup-token. It opens a browser; log in as the right account and copy the token. Then store each token in the Keychain so it is not sitting in plaintext in your dotfiles:
claude setup-token # log in as each account, copy the token
security add-generic-password -s "claude-token-work" -a "$USER" -U -w
security add-generic-password -s "claude-token-personal" -a "$USER" -U -wNext, add two functions to ~/.zshrc that look up the matching token and pass every argument through to claude:
clw() { CLAUDE_CODE_OAUTH_TOKEN="$(security find-generic-password -s claude-token-work -a "$USER" -w)" claude "$@"; }
clp() { CLAUDE_CODE_OAUTH_TOKEN="$(security find-generic-password -s claude-token-personal -a "$USER" -w)" claude "$@"; }Now clw runs as the work account (for example clw --resume), clp as the personal one, and plain claude still uses your Keychain login. Tokens last about a year, so when one expires, run claude setup-token again.
Is there a way to apply many settings at once?
The repo includes a setup script that bundles most of its recommendations, runnable in one line:
bash <(curl -s https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/setup.sh)It lists the nine things it will configure up front and lets you skip any by typing their numbers (for example 1 4 7), or press Enter to apply everything:
| # | Item | Written to |
|---|---|---|
| 1 | dx plugin (skills like /dx:gha, /dx:handoff) | plugin install |
| 2 | Status line | ~/.claude/settings.json |
| 3 | Disable auto-updates | ~/.claude/settings.json |
| 4 | Lazy-load MCP tools | ~/.claude/settings.json |
| 5 | Read(~/.claude) permission for half-clone | ~/.claude/settings.json |
| 6 | Read(//tmp/**) permission | ~/.claude/settings.json |
| 7 | Disable commit and PR attribution | ~/.claude/settings.json |
| 8 | Aliases c, ch, cs | ~/.zshrc or ~/.bashrc |
| 9 | --fs shortcut for --fork-session | ~/.zshrc or ~/.bashrc |
Watch item 8: the cs alias is claude --dangerously-skip-permissions, which runs without asking for permission. Don't install it on reflex; part seven of the series explains why that mode belongs in an isolated environment. Likewise, disabling auto-updates is the repo author's preference, not a default everyone should copy. Several of the remaining items (half-clone, --fork-session, the dx plugin) get their own explanation later in the series.
What should you set up first?
If you only have ten minutes, do three things: install the status line so you can see your context percentage, turn on the Concise output style, and add the c alias. Those three change the daily experience the most. Input-box shortcuts and multiple accounts are things to add when you actually need them, and the setup script is worth running only after you have read every item it intends to change in your settings.