Pain Point: Starting Over with Every Command
When using Claude Code for tasks, there have always been two minor frictions that I hadn't seriously addressed until now.
The first is that the shell itself is too bare-bones: there's nothing in ~/.zshrc except for two lines of PATH. No auto-completion, no command history. Navigating history requires pressing the up arrow repeatedly, and even then, similar commands must be manually edited. The second is when collaborating with Claude Code, some commands that are clearly read-only and have no side effects (listing files, checking versions, curling a README) require a manual "allow" click every time. This back-and-forth breaks the flow.
This post records the process of tackling both issues at once: how tools were chosen, what pitfalls were encountered, and how it was eventually integrated with Claude Code's permission system.
Solution 1: Let Zsh Remember What You've Typed






