# 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. |