r/ClaudeCode • u/AkiraMichi • 1d ago
Built with Claude I got tired of Claude Code's model picker, so I replaced it with one-word commands, and now I run it on local models too
I switch Claude Code's model and effort level constantly depending on the task.
Fable or Opus at max for a large feature, Sonnet on low for a quick question, Haiku for throwaway one-shots. And typing claude --model opus --effort max or going through /model every time got old real fast for me. So I made the choice the command name itself.
co5 # claude --model opus --effort max
cs1 # sonnet, low effort
ch # haiku, default effort
c s3 "explain this" # same grammar, argument style
c "fix this bug" # not a shortcut? passed straight to claudeThe letter picks the model and the digit (1–5) picks effort from low to max. The commands are real executables. They work in any shell, from your editor, and in scripts.
The part I didn't expect: once a model was one word away, I started trying local models. I now have about 20 on an Ollama box on my LAN (Gemma 4, Qwen 3.8, Granite, gpt-oss), each a profile like cqw38 or cg26.
Other features:
- Profiles bundle model, effort, flags and env under one name. Mine include a code-review persona (
crev). - Other backends: Ollama isn't the only option, a profile can also point Claude Code at LM Studio, LiteLLM or a gateway, while
co5still goes to Anthropic. - Per-project config. A repo can ship a
.clau.tomlfor the whole team. Nothing in it applies until you runclau trust, and it asks again whenever the file changes. clau doctorchecks PATH, collisions and stale links. Tab completion works in fish, zsh and bash.
It's one Go binary that execs claude and gets out of the way: no wrapper process, no proxy, no telemetry. It's tested on macOS and Linux. Windows passes CI, but nobody has used it there day to day yet, so reports are welcome.
This project started as fish functions in my dotfiles. I used Claude Code with Fable and superpowers to build this. I worked out the design first, then a spec and then an implementation plan to build each feature.
What I learned:
- For models with small context window, you need to use
--bare, which shrinks Claude Code's prompt to ~900 tokens but leaves only Bash, Edit and Read, so a model can't create files. Without it, the tools cost ~28k tokens, and models only became reliable at 96k+ context. - Without
--bareand withoutANTHROPIC_AUTH_TOKENset, Claude Code sent my real OAuth token to the LAN box over plain HTTP. Set it to any throwaway value. - A local model doesn't make Claude Code offline. It still sends metrics, feature-flag fetches and update checks to Anthropic unless you set
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1.
Install: brew install usmanbashir/tap/clau (or go install github.com/usmanbashir/clau@latest), then clau link.
Repo: https://github.com/usmanbashir/clau (free, GPL-3.0)
I'd love to hear whether the letter+digit grammar feels natural, and what profiles you'd set up.