Files
tai/research/shell-multiplexer-auto-attach/man-archlinux-org-fish-1-en-interactive-flag.md
T
2026-10-10 09:25:33 +02:00

49 lines
2.8 KiB
Markdown

# fish(1) manpage: -i/--interactive flag
## Metadata
| Field | Value |
|---|---|
| Institute | Molodetz Institute — Research & Retrieval Division |
| Subject | shell-multiplexer-auto-attach |
| Document type | Source Dossier |
| Tier | 1 |
| Source title | FISH(1) |
| Source URL | https://man.archlinux.org/man/fish.1.en |
| Source publisher / author | fish-shell project, mirrored by the Arch Linux manpage service |
| Source type | vendor docs |
| Source date (published) | Unknown — not stated |
| Date researched | 2026-10-10 |
| Researched by | tai (agent), model: Claude Sonnet 5, on behalf of retoor |
| Research method | web search synthesis |
| Confidence | High |
| Status | Active |
## Summary
fish's own command-line options include `-i`/`--interactive`, documented (current wording) as forcing interactive mode regardless of how fish was actually started — the direct fish analogue of bash's own `-i` flag, confirming fish can be spawned the same way (`fish -i`) that the existing bash/zsh integration-test fixtures already spawn `bash -i`/`zsh -i`.
## Key findings
- `-i`/`--interactive` sits alongside `-l`/`--login`, `-n`/`--no-execute`, and `-P`/`--private` in fish's own options list — a first-class, stable flag, not a hidden or undocumented one.
- Current wording (Arch, Debian trixie, openSUSE Tumbleweed mirrors) is terse: "the shell is interactive" / forces interactive mode. Older mirrors (Ubuntu 20.04 focal, an older linux.die.net copy) use slightly different directive-style wording ("specify that fish is to run in interactive mode") describing the same behavior — a wording change across fish/doc versions, not a behavior change.
- This directly justifies using `fish -i` to spawn real fish processes in the `FishInstallAndAutoWrapTest`/`FishAntiRecursionTest`/`FishTmuxActiveSkipTest` integration tests in `tests/bashrc.py`, exactly mirroring how the existing bash/zsh tests spawn `bash -i`/`zsh -i`.
## Pros / strengths
- Confirmed across multiple independent manpage mirrors (Arch, Debian, openSUSE, plus older Ubuntu/linux.die.net copies) with consistent meaning despite wording differences — high confidence this flag behaves as expected on any fish a real test container would have installed.
## Cons / limitations / caveats
- None identified beyond the wording-only discrepancy already noted; doesn't change the behavior being relied on.
## Relevance to tai
Directly justified the test design in `tests/bashrc.py`'s `_ShellPlexerHookTestBase._spawn_shell(["-i"], ...)` calls for the fish test classes — proof that `fish -i` is a real, stable, documented way to force a real interactive fish process for the end-to-end auto-wrap/anti-recursion/tmux-skip tests, run for real against the fish binary installed in `tests/docker/Dockerfile`.
## Changelog
| Date | Change |
|---|---|
| 2026-10-10 | Initial dossier created. |