---
title: "CLI: remove insomnia-pod installed/runtime alias"
state: "closed"
created_at: "2026-05-31T05:47:28Z"
updated_at: "2026-05-31T06:10:39Z"
---

## Background

Parent/umbrella ticket: `single-binary-insomnia-cli`.

Previous phases have already:

- added `insomnia pod ...` as the Pod runtime entrypoint;
- moved internal spawn/restore defaults to typed `current_exe() + ["pod"]` command resolution;
- left `insomnia-pod` as a temporary old binary/package output.

The user decision is that `insomnia-pod` does not need to remain as a compatibility alias. It was never designed as a human-facing command. The next phase is to remove/demote it so the installed package exposes one primary runtime executable: `insomnia`.

## Requirements

- Remove the long-term `insomnia-pod` installed/runtime alias.
- Prefer removing the `insomnia-pod` binary target from the `pod` crate if no active tests/build paths require it.
  - The `pod` crate should remain as a library crate providing the Pod runtime entrypoint used by `insomnia pod ...`.
  - If a temporary binary target must remain for a narrow reason, document exactly why and do not install/expose it.
- Update Nix packaging:
  - build/install only the user-facing `insomnia` binary as the package command;
  - remove `apps.insomnia-pod` from `flake.nix`;
  - update install checks to use `insomnia pod --help` instead of `insomnia-pod --help`.
- Update devshell behavior:
  - remove the `insomnia-pod` wrapper if internal callers no longer need it;
  - preserve the “do not pollute `INSOMNIA-READY` stderr handshake with cargo output” property for dev workflows if a wrapper remains necessary;
  - document any remaining dev override path (`INSOMNIA_POD_COMMAND`) if still relevant.
- Update docs that describe installed commands / Nix usage / profile manifest CLI examples:
  - replace user-facing `insomnia-pod ...` examples with `insomnia pod ...` where current behavior is intended;
  - avoid rewriting historical work-item artifacts;
  - leave clearly historical docs alone unless they are current user docs.
- Preserve runtime behavior:
  - `insomnia pod --help` works;
  - Pod spawning/restoration still uses `insomnia pod ...` by default;
  - `INSOMNIA_POD_COMMAND` override behavior remains executable-only if still supported, or is intentionally removed with tests/docs updated.
- Do not rename the `tui` package/crate in this ticket.
- Do not merge Pod controller into the TUI process.

## Non-goals

- Crate/package rename from `tui` to `insomnia`.
- Removing the `pod` library crate.
- Changing Pod runtime flags/profile/manifest semantics.
- Changing Pod protocol.
- Large CLI UX redesign.

## Acceptance criteria

- Installed/Nix package exposes `bin/insomnia` as the primary command and no longer exposes `bin/insomnia-pod`.
- `nix build .#insomnia` and install checks pass using `insomnia pod --help`.
- `flake.nix` no longer advertises `apps.insomnia-pod`.
- `insomnia pod --help` and relevant Pod runtime parser tests pass.
- Internal spawn/restore tests still pass after removing the old binary output.
- Current docs no longer instruct users to run `insomnia-pod` as the normal runtime command; use `insomnia pod` instead.
- `cargo fmt --check`, focused pod/tui/client/nix tests or checks, `cargo check -p tui -p pod -p client`, `./tickets.sh doctor`, and `git diff --check` pass.
