Zellij, Fish Shell, and the Illusion of "The First Terminal"

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.

Read more