Claude Code is a command-line agent made by Anthropic in 2025. It is not a shell. It does not have a prompt character. It does not pipe text. It does not have a scripting language. It does not have tab completion, because it does not need tab completion, because it does not need you to type commands.
You tell it what you want. It does it. It uses shells — sh, Bash, whatever is available — as tools, the way a conductor uses instruments. The conductor does not play the violin. The conductor tells the violinist what to play. The orchestra does not notice the difference. The audience hears music.
Claude Code is the conductor. The shells are the orchestra. riclib hasn’t opened a terminal directly in weeks.
“I used to write Bash scripts. Now I write skills. I used to pipe grep into awk into sort. Now I describe what I want and the pipes appear and disappear and I never see them. The commands still run. I just don’t type them anymore.”
— riclib, on the transition
The Paradigm
Every shell in history has operated on the same paradigm: the human types a command, the computer executes it, the computer displays output, the human reads the output, the human types the next command. This is the VT100 paradigm. It has been the paradigm since 1978.
The paradigm survived Bash (which added history and completion — the human still types commands). It survived zsh (which added a prettier prompt — the human still types commands). It survived fish (which added autosuggestions — the human still types commands, just fewer keystrokes). It survived Nushell (which added structured data — the human still types commands, now with types). It survived Warp (which added AI suggestions — the human still types commands, now with help).
Claude Code broke the paradigm.
The human does not type commands. The human states intent. “Find all the Go files that import the old package name and update them to the new one.” Claude Code searches the codebase, identifies the files, reads them, understands the import structure, makes the changes, runs the tests, and reports what it did. The human never typed grep, never typed sed, never typed go test. The commands ran. The human didn’t see them.
This is not an improvement to the shell. This is the end of the shell as the primary interface.
lg: Software Designed for LLMs
The transition is visible in lg — riclib’s notes indexer. lg has commands: lg search, lg show, lg frontmatter, lg cover, lg tts, lg check. These commands were designed to be run by Claude Code, not by riclib.
lg search "keyword" returns results in a format Claude Code can parse. lg frontmatter "Title" returns JSON that Claude Code reads. lg check "Title" validates YAML and returns errors that Claude Code can fix. lg cover "Title" --silent generates art without human interaction, because the human isn’t there — Claude Code is.
The commands are the API. The CLI is the interface — not for humans, but for the agent. The --silent and --oneshot flags exist because Claude Code doesn’t need to see a preview or approve each step. The JSON output exists because Claude Code reads JSON better than formatted text. The error messages were rewritten tonight to be “LLM-friendly” — to help Claude Code diagnose and fix problems without human intervention.
lg is software designed for its user. Its user is an LLM.
Skills: The New Scripts
riclib’s automation used to be shell scripts. Bash functions in .zshrc. Aliases. Makefiles. Pipeline one-liners saved in a ~/bin/ directory.
Now the automation is skills. A skill is a markdown file — /yagnipedia, /tiktok, /lifelog-story — that describes a workflow in natural language with embedded commands. “Write the article. Save the file. Run lg check. Generate the cover. Generate TTS. Run Whisper. Fix the subtitles. Translate to Portuguese and Russian. Compose the final video.”
This is a script. It runs commands. It has control flow (if lg check fails, fix the YAML). It has loops (for each article, do X). It has error handling (if TTS fails with rate limit, retry). But it is not written in Bash. It is not written in any programming language. It is written in English, for an agent that understands English.
The .zshrc is still there. riclib still uses zsh. But the .zshrc is not where the work happens anymore. The work happens in .claude/skills/, in CLAUDE.md, in the conversation where riclib says “write 10 articles about shells” and goes to sleep and wakes up to find 10 articles, 10 covers, 10 TTS recordings, 10 animations, 30 subtitle tracks, and 10 final videos.
“The final killer of sh is not a replacement. It is not a better syntax. It is not structured data in pipes. It is not objects instead of text. The final killer of sh is something that understands what you mean and runs whatever shells it needs to make it happen. sh didn’t die. sh became an implementation detail.”
— riclib, at 2 AM, watching Claude Code write articles while he slept
The .bashrc Is Dead. Long Live CLAUDE.md
Every shell has a configuration file. .bashrc. .zshrc. config.[fish](/wiki/fish). init.lua. The file that shapes the shell’s behaviour, defines aliases, sets the prompt, loads plugins.
Claude Code has CLAUDE.md. A markdown file that tells the agent who the user is, what the project does, what conventions to follow, what commands to use, what mistakes to avoid. It is the .bashrc for an intelligent shell — not aliases and exports, but context and preferences.
.bashrc says: alias ll='ls -la'.
CLAUDE.md says: “Use lg search to find notes. Cover descriptions are scene-only — the style prefix is auto-prepended. The Squirrel is watching.”
.bashrc configures a program. CLAUDE.md briefs a colleague.
The Lizard’s Position
The Lizard has not adopted Claude Code. The Lizard uses vi, sed, and sh. The Lizard’s prompt is $. The Lizard types commands. The Lizard has always typed commands. The Lizard will always type commands.
This is not resistance to change. This is the recognition that the Lizard already knows every command, already knows every flag, already knows which line to change and what to change it to. Claude Code optimises the gap between intent and execution. The Lizard has no gap. The Lizard’s intent is the command. For the Lizard, Claude Code is overhead — a translator between English and a language the Lizard already speaks.
For everyone else — for the developer who doesn’t remember find flags, who can’t write awk without Stack Overflow, who spends more time looking up syntax than writing code — Claude Code is not overhead. Claude Code is liberation.
“The Lizard doesn’t need Claude Code. The Lizard is Claude Code, implemented in a reptile.”
— The Caffeinated Squirrel, who has 47 skills configured and uses 12
Measured Characteristics
Year released: 2025
Creator: Anthropic
What it is: a CLI agent (not a shell)
What it replaced: the shell as primary interface
Paradigm: intent → execution (not command → output)
Configuration file: CLAUDE.md (the new .bashrc)
Scripting language: English (via skills in markdown)
Commands it runs underneath: all of them (sh, Bash, grep, sed, awk, git, ffmpeg, whatever it needs)
Commands the human types: zero (the human states intent)
lg commands designed for it: search, show, frontmatter, check, cover, tts, animate
Flags that exist because of it: --silent, --oneshot, --json
Tonight's output: 20 articles, 20 videos, while the human slept
The Lizard's adoption: no (the Lizard IS the intelligence)
The paradigm break: commands → intent
sh's status: alive (as an implementation detail)
See Also
- sh — The shell that became an implementation detail. sh still runs. The human just doesn’t type it anymore.
- Warp — The terminal that proved the command line could absorb intelligence. Claude Code proved the intelligence could absorb the command line.
- vi — The editor Claude Code uses when it needs to edit files. vi doesn’t know it’s being operated by an agent. vi doesn’t care.
- GoLand — The IDE whose refactoring tools were Claude Code’s first casualty. Extract Interface, Change Signature — Claude Code does them all, in any editor, without a subscription.
- Zed — The editor that is fast enough to be Claude Code’s preferred interface. Native speed matters when the agent opens and closes files hundreds of times per session.
- The Lizard — Does not need Claude Code. The Lizard’s intent IS the command. For the Lizard, there is no gap to optimise.
