[ai](/blog/ai/)

June 26, 2026·4 min read

# Claude Code Tips

![Jewei](/_astro/jewei.BG3aCW7D_Z1zLRnE.webp)

Jewei Mak

Software Engineer

Claude Code is an agentic coding tool that runs in your terminal. Out of the box it works well, but a few settings and habits make it noticeably better.

This is a running list of tips I keep coming back to.

Each tip carries a star rating from one to five. One star means a nice-to-have polish. Five stars means it changes how the tool feels day to day. Skim by rating if you are short on time.

## 1\. Hide attribution in commits and pull requests

**Rating: ★★☆☆☆** — cosmetic, but a one-time fix for a cleaner history.

By default, Claude Code adds a co-author line to commits and a footer to pull requests it creates. On a personal repo or a clean history, you may not want that noise.

Add this to your settings to remove both:

```
{
  "attribution": {
    "commit": "",
    "pr": ""
  }
}
```

The `commit` field controls the trailer appended to commit messages. The `pr` field controls the footer added to pull request descriptions. Setting either to an empty string removes it entirely.

Put this in `~/.claude/settings.json` to apply it everywhere, or in `.claude/settings.json` inside a project to scope it to that repo.

Reference: [https://code.claude.com/docs/en/settings#attribution-settings ](https://code.claude.com/docs/en/settings#attribution-settings)

## 2\. Opt out of telemetry

**Rating: ★★★☆☆** — set once, privacy for good.

Claude Code sends anonymous usage and error telemetry by default. You can turn it off with environment variables, set directly in your settings file so they apply on every run.

Any one of these disables nonessential traffic:

```
{
  "env": {
    "DISABLE_TELEMETRY": "1",
    "DO_NOT_TRACK": "1",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}
```

`DISABLE_TELEMETRY` opts out of usage analytics. `DO_NOT_TRACK` is the cross-tool standard signal and Claude Code respects it. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` is the broadest switch: it disables telemetry, error reporting, and automatic update checks in one flag.

Set just the broad flag if you want everything off, or pick the narrower ones to keep some traffic. Put them in `~/.claude/settings.json` for every project, or in a project’s `.claude/settings.json` to scope it.

If you would rather not touch settings, set the variable on a shell alias instead:

```
alias claude='DISABLE_TELEMETRY=1 claude'
```

Add it to `~/.zshrc` or `~/.bashrc`. Every `claude` you launch then starts with telemetry off, no per-project config needed.

Reference: [https://code.claude.com/docs/en/settings#environment-variables ](https://code.claude.com/docs/en/settings#environment-variables)

## 3\. Run multiple accounts side by side

**Rating: ★★★★☆** — a lifesaver if you juggle work and personal subscriptions.

If you keep a personal and a work subscription, you can run both without logging in and out. `CLAUDE_CONFIG_DIR` overrides the configuration directory, which defaults to `~/.claude`. All settings, credentials, session history, and plugins live under that path.

Point each account at its own directory with an alias:

```
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude'
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
```

Add these to `~/.zshrc` or `~/.bashrc`. Run `claude-personal` and log in with your personal account, `claude-work` with your work account. Each keeps separate credentials, history, and settings, so you never collide between the two.

This also keeps work session history out of your personal projects, and lets each account carry its own permissions and plugins.

Reference: [https://code.claude.com/docs/en/settings#environment-variables ](https://code.claude.com/docs/en/settings#environment-variables)

## 4\. Start in auto mode by default

**Rating: ★★★★★** — the single biggest upgrade to how Claude Code feels.

Claude Code starts in a mode that asks permission before edits and commands. If you trust the agent in a given project and want fewer interruptions, set the default mode to `auto`:

```
{
  "permissions" : {
    "defaultMode" : "auto"
  },
}
```

Every session in that scope then opens in auto mode instead of the standard prompt-on-each-action mode. You can still switch modes mid-session.

Auto mode is where Claude Code gets genuinely fun to use. Instead of babysitting a permission prompt on every edit and command, you describe what you want and let the agent run. It reads files, writes code, runs tests, and iterates on failures without stopping to ask each step.

That changes how the work feels. You stay in the planning and reviewing seat instead of the clicking-approve seat. The agent can chase a bug across several files, run the test suite, see it fail, and fix it again before you would have finished approving the first edit. Long multi-step tasks that used to mean a dozen interruptions now happen in one continuous flow.

The tradeoff is control. Auto mode acts without waiting for you, so use it where mistakes are cheap and recoverable: a clean git tree, a branch you can reset, a project under version control. There you get the speed with none of the regret.

Put it in a project’s `.claude/settings.json` to auto-run only where you trust it, or in `~/.claude/settings.json` to make it global. Scope it to projects you trust rather than turning it on everywhere.

Reference: [https://code.claude.com/docs/en/settings#available-settings ](https://code.claude.com/docs/en/settings#available-settings)

## More tips coming

I will keep adding to this list as I find settings and workflows worth sharing.

Enjoyed this post?

Writing takes time. If this saved you a debugging session, sparked an idea, or just made the afternoon less boring — consider sponsoring my work. Even a one-time contribution means a lot.

[Sponsor ](https://github.com/sponsors/jewei)

[

PreviousClaude Meter 2.0: Your Claude Usage, Now With Energy

](/claude-meter-v2/)[

NextBopop: press, type, go

](/bopop-press-type-go/)
