Skip to main content

Kache

One terminal for all your computers. Run commands and long jobs on your other devices, move files between them, see how they are doing, and see who (or which AI agent) is working where, from a window, the command line, or an AI agent's tools.

Install

pip install kache-ssh
kache

kache opens the Kache window. From then on Kache starts when you log in; a small dot in the taskbar's hidden icons shows it is running (double-click opens the window, right-click shows this device's address and Exit).

Kache is two small programs (about 25 MB together, written in Rust) and uses little memory and almost no CPU while idle. Windows 10/11 is supported today; the command line also builds on Linux and macOS.

Pair your devices

On the device you want to command from:

kache pair 192.168.1.30          (or its Tailscale name or IP)

Both devices show the same six-digit code; accept on the other device (the window asks, or kache accept). Each device has its own key; no passwords are sent and nothing goes through anyone else's server. Devices paired at home keep working over Tailscale when you are away.

Use it

kache run desktop -- nvidia-smi                      a command, output live
kache run desktop --shell bash -- ls -la             in a chosen shell
kache job start desktop -m "train style-v1" -- python train.py
kache jobs                                           jobs everywhere, with owners
kache job log J-3f2a9c -f                            follow a job
kache push notes.txt desktop:Desktop                 copy files there
kache pull desktop:C:/runs/x/latest.pt .             and back
kache copy desktop:C:/runs/x/latest.pt all:Downloads to every other device
kache sync ./project desktop:C:/project --watch      keep a folder in sync
kache devices                                        who is online, CPU/RAM/GPU
kache actors                                         who is working where
kache chat @claude-code is the run done?             talk to people and agents

Commands run exactly as written, in the shell you choose (PowerShell, Bash, cmd or Zsh); each session keeps its folder and variables, like a terminal. Cancelling a command (Ctrl+C) stops everything it started, and nothing else.

In the window: type in the terminal and press Enter; Shift+Tab switches device, a tap of Shift switches shell, Ctrl+C stops the command. Everything done through Kache, on every device, scrolls by on the right.

Working together

Every command, job and change is shown with who did it ("claude-code on laptop"). When someone starts work on a device where others are working, Kache tells them who is busy with what and asks once; it asks again only when someone starts new work there. Work can say what it uses (--uses gpu) so unrelated work does not count as a conflict.

Jobs need a short description, like a commit message, so everyone can see what each job is for. Messages (kache chat, or the Chat tab) reach every device; mentioning someone (@simon) pings them. Messages never block work, unless sent as --urgent.

More

  • Files without a shell: kache cat, ls, find, tail; kache patch and write refuse if the file changed since you read it, and every change can be undone (kache undo).
  • Services that Kache keeps running, and schedules (kache service, kache schedule).
  • kache wait for a file, a log line, a job or a port; kache wake for wake-on-LAN; kache screenshot desktop; kache stats for 7 days of health history; kache ssh shows plain SSH logins.
  • kache startup on --at-boot starts Kache before anyone logs in (needs administrator rights once).
  • kache update updates every device, the others first.
  • AI agents: kache mcp serves Kache as tools (Model Context Protocol); kache guide explains the JSON output and exit codes.

Upgrading from Kache 0.x

Kache 1.0 keeps your device's identity and pairings (same state folder, same files). After pip install -U kache-ssh, run kache startup on (add --at-boot if you used it) to replace the old startup entries.

License

MIT

Metadata

Release files for kache-ssh 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for kache-ssh 1.0.2
File Interpreter ABI Platform
kache_ssh-1.0.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details

Release files / kache_ssh-1.0.2-py3-none-win_amd64.whl

Download URL kache_ssh-1.0.2-py3-none-win_amd64.whl
Size 12.1 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
a7bdfb5a6f6e94b0c19faf687c3f7b36885dc4e20e4eeea527d8618b3055e05f
BLAKE2b-256 checksum
How to use checksums
e3a77d23a3aa58a866c925ce54a74022862302d05018e079e2f4bf3da0bd2796
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.1

Security for kache-ssh 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page