Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

claudesh

Claude as your shell. A GNOME app that opens Claude Code in your home directory, in your preferred terminal — one click in the app grid and you're talking to your computer.

Motivation

For fifty years the way to "use a computer" seriously has been the same: open a terminal, get a shell, type commands. bash is a brilliant abstraction — but it speaks in commands, flags, and pipes, and it does exactly what you say, not what you mean.

Claude Code is the next abstraction level up: a shell where you talk to your machine in language. "Find what's eating my disk", "resize these photos and mail them to Anna", "why won't this service start" — it reads files, runs commands, fixes configs, writes code. The terminal stops being a place where you operate the computer and becomes a place where you delegate to it.

But on the desktop it's still packaged like a developer tool: open a terminal, get bash, and then launch claude. That's launching the new shell from inside the old one. If Claude is the new bash, it deserves what bash has always had — a first-class entry point and executable scripts. claudesh gives it both: an icon in your app grid that drops you straight into Claude Code in ~, and a shebang interpreter that turns plain-language prompts into scripts you can chmod +x.

Install

Grab the .deb from the latest release:

curl -fLO https://github.com/ssubbotin/claudesh/releases/latest/download/claudesh.deb
sudo apt install ./claudesh.deb

You also need Claude Code itself (claudesh will tell you if it's missing):

curl -fsSL https://claude.ai/install.sh | bash

Then hit Super, type "Claude", press Enter.

Claude scripts

If claude is the new bash, a shell script is just a prompt with a shebang. claudesh doubles as a script interpreter:

#!/usr/bin/claudesh
Tidy up the current directory: group loose files into subfolders by
type (Documents, Images, Archives), then print a one-line summary of
what moved.

chmod +x tidy && ./tidy — the script body is sent to Claude Code in print mode (claude -p), running in your current directory like any shell script would.

  • Arguments: ./tidy ~/Downloads — extra arguments are appended to the prompt as Script arguments: …, so a script can say "operate on the directory given in the script arguments".
  • Pipes: stdin flows into claude, so git diff | ./explain works like any other filter.
  • Options in the shebang line pass through to claude: #!/usr/bin/claudesh --model claude-haiku-4-5.
  • Permissions: scripts run with --permission-mode acceptEdits by default — Claude can read, edit files, and run pre-approved commands without prompting, and your deny rules still apply. For a script with the full authority of a real shell script (no guardrails), declare it explicitly: #!/usr/bin/claudesh --dangerously-skip-permissions.

A runnable example ships in examples/hello (installed to /usr/share/doc/claudesh/examples/).

How it works

Three small pieces:

  • /usr/bin/claudesh — a POSIX sh wrapper with two modes. App mode cds to $HOME and runs claude interactively; it probes ~/.local/bin and other user-level install locations explicitly, because apps launched from GNOME don't get your login-shell PATH, and it holds the window open on errors so messages stay readable. Interpreter mode kicks in when it's invoked as a shebang interpreter: the script body becomes the prompt, executed via claude -p in the caller's working directory.
  • claudesh.desktop — the app entry, with Terminal=true. On modern GNOME (with xdg-terminal-exec) that opens your default terminal — Ptyxis, GNOME Terminal, whatever you've chosen — nothing is hardcoded.
  • the icon — the Claude spark, installed into the hicolor theme.

Build from source

make deb
sudo apt install ./build/claudesh_*_all.deb

Requires only make, dpkg-deb, and gzip. make check validates the desktop entry and the script.

Compatibility

Built and tested on Ubuntu 26.04 (GNOME 50). Should work on any Debian-family distro whose desktop environment honors Terminal=true in desktop entries; a terminal that registers with xdg-terminal-exec gives the best experience.

License

MIT — see LICENSE.

The Claude "spark" logo used as the app icon is a trademark of Anthropic PBC and is not covered by the MIT license; it is included only to identify the application being launched (glyph path via simple-icons, CC0). This is an unofficial community project, not affiliated with or endorsed by Anthropic.

About

Claude as your shell — GNOME launcher and shebang interpreter for Claude Code

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages