Aaryan-Kapoor

Slashback — Development skill for Claude Code

Development community

A live Claude Code session running slash commands on itself, over SSH or inside T3 Code.

How to install Slashback

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Aaryan-Kapoor/self-compact and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Slashback does

A live Claude Code session running slash commands on itself, over SSH or inside T3 Code.

Alternatives in Development

  • Zoetrope — Watch a Claude Code session as a live flow graph, in your terminal or your browser 584 ★
  • Dario — A local OpenAI- and Anthropic-compatible proxy that brings your Claude Pro/Max subscription to Cursor, Cline 485 ★
  • Handmux — A mobile vibe-coding cockpit — built on tmux: drive your live session, Claude Code / Codex — anything a termin 162 ★

README

slashback: a live Claude Code session running slash commands on itself

slashback

slashback lets a running Claude Code session execute `/compact`, or another allowlisted slash command, against itself, exactly as if a human had typed it at the prompt. It works in a session reached over plain SSH and in a session launched by T3 Code. The SSH path was worked out and verified on 2026-09-09 against Claude Code 2.1.263–2.1.267 running under a bare SSH login, with no tmux or screen in between, on Linux 7.0.0-30-generic, and the T3 path on 2026-09-27.

On the SSH path, the short version is that the only thing the TUI treats as a real command is a keystroke arriving on its terminal input, so the whole problem reduces to getting characters onto that input from inside a tool call. Every channel that looks like it should carry a command turns out not to, and the one channel that does, the pty master, belongs to `sshd` and is fenced off from the obvious `/proc` route. The unlock is to duplicate the master file descriptor out of `sshd` with `pidfd_getfd`, and the sections below explain both why the easy doors are locked and why this one opens.

The one-line answer

From inside the session, arm the injector detached, handing it this session's own pid and session id from the environment Claude Code exports to every tool shell, then end the turn immediately and say nothing else:

LOG="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/slashback.log"
setsid python3 slashback.py \
  --pid "$CLAUDE_PID" --session "$CLAUDE_CODE_SESSION_ID" --log "$LOG" >/dev/null 2>&1 &
disown

A second or two after the turn ends and the prompt goes idle, `/compact` appears on the input line and submits itself, and the TUI parses and runs it the same way it would for a human. The command defaults to `/compact`; pass a different one with `--command`. `--dry-run` runs every step except the keystrokes and is the way to test an instal