Skip to main content

Wrapper to launch Claude Code in a dedicated kitty terminal with tmux

Project description

clauthing

A soft-warm wrapper around claude code, using kitty and tmux. Keep all you claude codes in one place.

THIS IS BUGGY ALPHA SOFTWARE; IT IS AI-GENERATED AND NOT WELL REVIEWED. It does however contain some magic and I wanted to throw it onto the internet so othes could use it.

Only tested on linux.

Features

  • :command to run DETERMINISTIC actions written in code
  • :cd command to change directory
  • :fork command to clone a conversation
  • :permissions to view permissions
  • :rule to modularly define context which is always laded.
  • :skill SKILL to creeate a new school
  • :reload to restart claude at the same point with new features
  • ::skill new to define a template to be deterministally added to the context at this point using ::new

Other stuff.

Planned features. Use arbitrary terminals rather than kitty.

Motivation

claude code has a number of features that that I want which are absent from the claude desktop app. Mostly things related to programmatic access to messages, hooks surrounding messages being sent, and the ability to run deterministic commands.

However, I will likely still want to use a terminal even with claude code and I don't want claude code using up all my terminals. So I want to wrap up claude code in a kitty window running tmux away from terminals.

As a side effect, wrapping claude with tmux lets me do lots of weird magic to add features.

Alternatives and prior work

This is terrible. It is a wrapper around claude code and mostly implemented using tmux and kitty. However, it is usable and I use it and it gives you access to the claude code subscription while still using claude as as the underlying harness.

This means you get access to claude's cheaper subscriptin models, with additional features, without violating their tems and conditions.

If you are willing to spend more money you can use API based usage rather than sunscription based usage and use something like opencode or PI. I have not used these myself as I want to use the cheaper model. Chatgpt is compatible with open code.

Installation

pipx install clauthing

Install kitty and tmux

Usage

clauthing

Single window

I have a mode of development where I cycle through a lot of separate x11 windows. I use --one-tab for this.

Shorcuts

Tab Switching

  • Alt+h - Switch to previous window
  • Alt+\ - Switch to next window
  • Alt+o - Toggle to last window (switch between current and previous)

Other Useful Keybindings

  • Ctrl+n - Open new window
  • Ctrl+w - Close current window (won't close if it's the last one)
  • Alt+r - reload the curent window

Colon commands

There are some commands implemented with hooks. Type :help to see the commands.

Doublecolon skills

Claude has skills but they are stuck in the mindset of "allow claude to do the orchestration". Colon skills are a clauthing specific feature. If you type ::blah the blah skill is immediately sent to claude.

To create the skill blah you can use ::skill blah.

Session Storage

Session metadata is stored in ~/.local/state/clauthing/sessions/ and open sessions are tracked in ~/.config/clauthing/open-sessions.json (for debugging purposes only - liable to change).

Contributing

I'm vibe coding. You're vibe coding. I suggest you create a fork named clauthing-whatever and try to get people to use it. Send me your fork in a PR, describing what it does in as much detail as you can muster and I will have an LLM tell me what is going on and reimplement your idea.

About

I am @readwith. As part of my work i make a stream of tools related to AI-coding and useing a computer in general. If this is interesting I suggest following me on github. If I am interesting, follow me on X.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clauthing-1.0.1.tar.gz (98.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clauthing-1.0.1-py3-none-any.whl (117.4 kB view details)

Uploaded Python 3

File details

Details for the file clauthing-1.0.1.tar.gz.

File metadata

  • Download URL: clauthing-1.0.1.tar.gz
  • Upload date:
  • Size: 98.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for clauthing-1.0.1.tar.gz
Algorithm Hash digest
SHA256 171770e0a858bb916f8b880146fee514d312f4bc0f5dfee287c5d66eb23df28e
MD5 c7caa273f1bacf844d22ff5fb42a925a
BLAKE2b-256 8fc02c97358f53854ab6e714c7effe59e8fff361901ff2af8726282d2f473bf1

See more details on using hashes here.

File details

Details for the file clauthing-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: clauthing-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 117.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for clauthing-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e30e7dcdb430a3ee564d7a413950f7e2a1ab1e00394222b822ffac274477a3c4
MD5 2daab70cbd8c4f2f30cfe24db3110902
BLAKE2b-256 cdb09c234115eca9ccb862d097afde8487f9f6610460681c4011a20a63c8a9f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page