Zellij, Fish Shell, and the Illusion of "The First Terminal"
Abstract
Zellij is often praised as a modern terminal multiplexer with a clean architecture and strong defaults.
However, when users attempt to automate Zellij—especially when integrating it with Fish shell—they frequently encounter confusing behavior: unexpected session sharing, nested Zellij instances, or race conditions during startup.
This article documents a real-world investigation into these issues and explains why certain intuitive solutions fail, what Zellij actually guarantees, and which design principles lead to a stable setup.
The goal is not to propose clever hacks, but to align automation with Zellij’s actual model.



