# zellij-org/zellij

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/zellij-org-zellij).**

29,242 stars · 967 forks · Rust · mit

## Links

- GitHub: https://github.com/zellij-org/zellij
- Homepage: https://zellij.dev
- awesome-repositories: https://awesome-repositories.com/repository/zellij-org-zellij.md

## Topics

`multiplexer` `terminal` `workspace`

## Description

Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent, reconfigurable layouts. It functions as a terminal plugin framework, allowing users to extend their environment with modular, event-driven components that interact with the host through a structured message-passing protocol.

The project distinguishes itself through a layout-engine-based architecture that decouples visual pane arrangements from process execution, enabling automated and repeatable terminal workflows. It includes integrated support for web-based remote access, facilitating real-time collaboration and browser-based interaction with active sessions. These capabilities are supported by a state-serialization model that allows for the resurrection of complex terminal environments after system exits.

Beyond its core multiplexing features, the platform provides a comprehensive suite of tools for terminal automation, including dynamic layout application, programmatic pane control, and session management. It supports extensive customization of input bindings, visual themes, and plugin behaviors, while offering observability tools to monitor session state and pane output.

The software is distributed as a standalone binary, with configuration managed through local files that support dynamic reloading and automated session startup.

## Tags

### Development Tools & Productivity

- [Session Management](https://awesome-repositories.com/f/development-tools-productivity/session-management.md) — Provides a centralized interface for listing, attaching to, and managing persistent terminal sessions. ([source](https://zellij.dev/documentation/integration.html))
- [Terminal Multiplexers](https://awesome-repositories.com/f/development-tools-productivity/terminal-multiplexers.md) — Acts as a terminal multiplexer that organizes sessions into persistent, reconfigurable layouts with plugin support.
- [Collaborative Terminal Sessions](https://awesome-repositories.com/f/development-tools-productivity/collaborative-terminal-sessions.md) — Facilitates real-time collaborative terminal sessions and remote access directly through a web browser. ([source](https://zellij.dev/documentation/options.html))
- [Terminal Session Managers](https://awesome-repositories.com/f/development-tools-productivity/terminal-session-managers.md) — Provides a centralized interface to create, switch, rename, and terminate terminal sessions. ([source](https://zellij.dev/documentation/commands.html))
- [Terminal Session Persisters](https://awesome-repositories.com/f/development-tools-productivity/terminal-session-persisters.md) — Maintains active terminal processes and window arrangements in the background after disconnection. ([source](https://zellij.dev/documentation/))
- [Session State Serializers](https://awesome-repositories.com/f/development-tools-productivity/session-capturers/session-state-serializers.md) — Restores previously exited sessions to their exact state, including layouts and running commands. ([source](https://zellij.dev/documentation/session-manager-alias.html))
- [Terminal Layout Engines](https://awesome-repositories.com/f/development-tools-productivity/terminal-layout-engines.md) — Provides a layout engine for defining terminal workspaces with custom panes, tabs, and floating windows. ([source](https://zellij.dev/documentation/creating-a-layout.html))
- [Session Layout Definitions](https://awesome-repositories.com/f/development-tools-productivity/terminal-session-persisters/session-layout-definitions.md) — Organizes terminal workspaces by defining persistent pane arrangements and UI components in configuration files. ([source](https://zellij.dev/documentation/layouts-with-config.html))
- [Plugin Frameworks](https://awesome-repositories.com/f/development-tools-productivity/terminal-user-interface-frameworks/plugin-frameworks.md) — Provides a modular plugin architecture for extending terminal workspace functionality via message-passing.
- [Session State Querying](https://awesome-repositories.com/f/development-tools-productivity/session-capturers/session-state-serializers/session-state-querying.md) — Restores active sessions and pane viewports to their exact state after a system reboot. ([source](https://zellij.dev/documentation/print.html))
- [Headless Session Managers](https://awesome-repositories.com/f/development-tools-productivity/session-management/headless-session-managers.md) — Maintains persistent terminal sessions in the background without requiring an active user interface. ([source](https://zellij.dev/documentation/cli-recipes.html))
- [Session Layout Switchers](https://awesome-repositories.com/f/development-tools-productivity/session-management/session-layout-switchers.md) — Provides an interactive menu to discover and apply workspace layouts from the system directory. ([source](https://zellij.dev/documentation/integration.html))
- [Terminal Action Bindings](https://awesome-repositories.com/f/development-tools-productivity/terminal-action-bindings.md) — Maps keyboard shortcuts to terminal management actions for streamlined workflow control. ([source](https://zellij.dev/documentation/keybindings-binding.html))
- [Terminal Workflow Automations](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/shell-productivity-enhancements/terminal-workflow-automations.md) — Enables scripting and automation of terminal tasks, session startup, and workspace configuration for repeatable development environments.
- [Terminal Tab Managers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/general-enhancements-tooling/terminal-utilities/appearance-sessions/terminal-tab-managers.md) — Manages the creation, renaming, and switching of terminal tabs to organize workspaces. ([source](https://zellij.dev/documentation/cli-actions.html))
- [Startup Layouts](https://awesome-repositories.com/f/development-tools-productivity/application-startup-configurations/startup-layouts.md) — Defines terminal pane and plugin arrangements in configuration files for startup. ([source](https://zellij.dev/documentation/print.html))
- [Input Synchronizers](https://awesome-repositories.com/f/development-tools-productivity/command-execution/pane/input-synchronizers.md) — Toggles input synchronization to broadcast keystrokes across all panes in a tab. ([source](https://zellij.dev/documentation/cli-actions.html))
- [Mode-Specific Keybindings](https://awesome-repositories.com/f/development-tools-productivity/keybinding-configurations/mode-specific-keybindings.md) — Provides mode-specific keybindings to override default behaviors and define custom workflows. ([source](https://zellij.dev/documentation/keybindings.html))
- [Terminal Productivity Plugins](https://awesome-repositories.com/f/development-tools-productivity/terminal-productivity-plugins.md) — Supports the execution of modular terminal plugins from local or remote sources. ([source](https://zellij.dev/documentation/zellij-plugin-and-pipe.html))
- [Dynamic Layout Managers](https://awesome-repositories.com/f/development-tools-productivity/command-execution/pane/dynamic-layout-managers.md) — Cycles through workspace arrangements to optimize screen space usage dynamically. ([source](https://zellij.dev/documentation/swap-layouts.html))
- [Fuzzy Search Interfaces](https://awesome-repositories.com/f/development-tools-productivity/fuzzy-search-interfaces.md) — Implements fuzzy-finding interfaces for locating files and searching content within the terminal. ([source](https://zellij.dev/documentation/plugin-examples.html))
- [Keyboard Interaction Controls](https://awesome-repositories.com/f/development-tools-productivity/keyboard-interaction-controls.md) — Configures keyboard interaction presets to manage terminal sessions and command access. ([source](https://zellij.dev/documentation/keybinding-presets.html))
- [Inter-Plugin Communication](https://awesome-repositories.com/f/development-tools-productivity/plugin-architectures/inter-plugin-communication.md) — Facilitates the execution, reloading, and inter-plugin communication for terminal extensions. ([source](https://zellij.dev/documentation/cli-recipes.html))
- [Interactive Plugin Managers](https://awesome-repositories.com/f/development-tools-productivity/plugin-management/interactive-plugin-managers.md) — Provides an interactive interface for loading and communicating with plugins during active sessions. ([source](https://zellij.dev/documentation/controlling-zellij-through-cli.html))
- [Terminal Automation](https://awesome-repositories.com/f/development-tools-productivity/terminal-automation.md) — Sends keystrokes, text, or commands to specific panes or tabs programmatically to enable headless workflows. ([source](https://zellij.dev/documentation/cli-recipes.html))
- [Terminal Output Monitors](https://awesome-repositories.com/f/development-tools-productivity/terminal-output-monitors.md) — Captures and monitors terminal output streams from specific panes in real-time. ([source](https://zellij.dev/documentation/programmatic-control.html))
- [Command Execution](https://awesome-repositories.com/f/development-tools-productivity/command-execution.md) — Executes external programs and scripts within panes with support for custom working directories. ([source](https://zellij.dev/documentation/keybindings-possible-actions.html))
- [Output Streamers](https://awesome-repositories.com/f/development-tools-productivity/command-execution/pane/output-streamers.md) — Streams real-time pane content to standard output for monitoring and scripting. ([source](https://zellij.dev/documentation/controlling-zellij-through-cli.html))
- [Command Line Interface Plugins](https://awesome-repositories.com/f/development-tools-productivity/command-line-interface-plugins.md) — Connects command-line tools to plugins for streaming data and input/output integration. ([source](https://zellij.dev/documentation/plugin-pipes.html))
- [Configuration Hot-Reloading](https://awesome-repositories.com/f/development-tools-productivity/configuration-hot-reloading.md) — Monitors configuration files and applies updates to the running session immediately without requiring a restart. ([source](https://zellij.dev/documentation/configuration.html))
- [Scrollback Editors](https://awesome-repositories.com/f/development-tools-productivity/scrollback-buffer-management/scrollback-editors.md) — Integrates external text editors for viewing and modifying terminal scrollback history. ([source](https://zellij.dev/documentation/faq.html))
- [Synchronous Process Controllers](https://awesome-repositories.com/f/development-tools-productivity/synchronous-process-controllers.md) — Blocks process execution until specific pane commands complete to coordinate automated workflows. ([source](https://zellij.dev/documentation/programmatic-control.html))
- [Terminal Session Management](https://awesome-repositories.com/f/development-tools-productivity/terminal-automation/terminal-session-management.md) — Launches a terminal multiplexer session automatically upon shell initialization if one is not already active. ([source](https://zellij.dev/documentation/integration.html))
- [Terminal Customization](https://awesome-repositories.com/f/development-tools-productivity/terminal-customization.md) — Extends terminal functionality through lifecycle hooks for event handling and rendering. ([source](https://zellij.dev/documentation/introduction.html))
- [Command Line Utilities](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/general-enhancements-tooling/terminal-productivity/command-line-utilities.md) — Provides command-line utilities to programmatically manage panes, tabs, and layouts. ([source](https://zellij.dev/documentation/controlling-zellij-through-cli.html))

### System Administration & Monitoring

- [Multi-Pane Terminal Managers](https://awesome-repositories.com/f/system-administration-monitoring/multi-pane-terminal-managers.md) — Organizes terminal panes and tabs into predefined, persistent workspace layouts. ([source](https://zellij.dev/documentation/layouts.html))
- [Web-Based Remote Terminals](https://awesome-repositories.com/f/system-administration-monitoring/web-based-remote-terminals.md) — Exposes active terminal sessions via a web server for remote access and collaborative interaction. ([source](https://zellij.dev/documentation/print.html))
- [Session Management](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/configuration-control-utilities/administrative-controls/session-management.md) — Provides interactive controls for toggling web-based session sharing and configuring remote access settings. ([source](https://zellij.dev/documentation/session-manager-alias.html))
- [Floating Pane Controls](https://awesome-repositories.com/f/system-administration-monitoring/multi-pane-terminal-managers/floating-pane-controls.md) — Controls the visibility, positioning, and sizing of tiled and floating terminal panes. ([source](https://zellij.dev/documentation/print.html))
- [Pane Command Spawners](https://awesome-repositories.com/f/system-administration-monitoring/multi-pane-terminal-managers/pane-command-spawners.md) — Automates the launching of commands into specific terminal panes with lifecycle management. ([source](https://zellij.dev/documentation/zellij-run-and-edit.html))
- [Pane Templates](https://awesome-repositories.com/f/system-administration-monitoring/multi-pane-terminal-managers/pane-templates.md) — Provides reusable templates for defining complex terminal pane layouts. ([source](https://zellij.dev/documentation/creating-a-layout.html))
- [Read-Only Session Observers](https://awesome-repositories.com/f/system-administration-monitoring/terminal-session-managers/read-only-session-observers.md) — Allows attaching to active sessions in a restricted view-only mode. ([source](https://zellij.dev/documentation/controlling-zellij-through-cli.html))
- [Session Termination](https://awesome-repositories.com/f/system-administration-monitoring/terminal-session-managers/session-termination.md) — Stops specific running sessions or clears all active sessions to free system resources. ([source](https://zellij.dev/documentation/commands.html))
- [Pane Bookmarking](https://awesome-repositories.com/f/system-administration-monitoring/multi-pane-terminal-managers/pane-bookmarking.md) — Enables quick navigation between favorite terminal panes using keyboard shortcuts. ([source](https://zellij.dev/documentation/plugin-examples.html))
- [Pane Content Exporters](https://awesome-repositories.com/f/system-administration-monitoring/multi-pane-terminal-managers/pane-decorations/pane-buffer-management/pane-content-exporters.md) — Enables interaction with pane content, including exporting scrollback history and clearing buffers. ([source](https://zellij.dev/documentation/cli-actions.html))
- [Terminal Event Handlers](https://awesome-repositories.com/f/system-administration-monitoring/terminal-event-handlers.md) — Enables plugins to subscribe to and process specific terminal-level notifications and system events. ([source](https://zellij.dev/documentation/plugin-api-events.html))

### Software Engineering & Architecture

- [Modular Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/modular-plugin-architectures.md) — Implements a modular plugin architecture for extending terminal functionality via message-passing. ([source](https://zellij.dev/documentation/keybindings-possible-actions.html))
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures.md) — Enables custom plugins to communicate via messages, manage other plugin instances, and request specific system permissions for extended functionality. ([source](https://zellij.dev/documentation/plugin-api-types.html))
- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Implements a modular plugin architecture for extending terminal functionality with external modules. ([source](https://zellij.dev/documentation/print.html))
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/plugin-architectures.md) — Integrates custom tools and interactive components into the terminal interface via a modular architecture. ([source](https://zellij.dev/documentation/))
- [Plugin Execution Engines](https://awesome-repositories.com/f/software-engineering-architecture/plugin-execution-engines.md) — Manages the execution of external commands and modular plugins within the terminal environment. ([source](https://zellij.dev/documentation/cli-actions.html))
- [Dynamic Layout Overrides](https://awesome-repositories.com/f/software-engineering-architecture/runtime-configuration-overrides/dynamic-layout-overrides.md) — Allows overriding or defining tab and session structures using layout files or raw strings to reconfigure the workspace programmatically. ([source](https://zellij.dev/documentation/cli-recipes.html))

### Web Development

- [Web-Based Terminal Emulators](https://awesome-repositories.com/f/web-development/web-based-terminal-emulators.md) — Exposes terminal sessions through an integrated web server for remote collaboration and browser-based interaction.
- [Web Server Management](https://awesome-repositories.com/f/web-development/web-server-management.md) — Controls the lifecycle and authentication tokens of the integrated web server for remote access. ([source](https://zellij.dev/documentation/plugin-api-permissions.html))

### User Interface & Experience

- [Terminal Layout Engines](https://awesome-repositories.com/f/user-interface-experience/terminal-layout-engines.md) — Decouples visual pane arrangements from process execution to enable persistent and reconfigurable terminal environments.
- [Terminal User Interfaces](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces.md) — Displays custom terminal user interfaces using ANSI-encoded bytes and theme-aware components. ([source](https://zellij.dev/documentation/plugin-ui-rendering.html))
- [Tab Layout Overrides](https://awesome-repositories.com/f/user-interface-experience/tabs/tab-layout-overrides.md) — Replaces active tab layouts with new definitions while preserving terminal content. ([source](https://zellij.dev/documentation/layouts.html))
- [Workspace State Modifiers](https://awesome-repositories.com/f/user-interface-experience/application-state-managers/workspace-state-modifiers.md) — Queries and modifies the layout, panes, and tabs of the terminal environment to organize complex sessions. ([source](https://zellij.dev/documentation/plugin-api-permissions.html))
- [Terminal Input Modes](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/input-handling/modifier-key-listeners/mode-modifiers/terminal-input-modes.md) — Switches between input modes to change how keyboard shortcuts are interpreted. ([source](https://zellij.dev/documentation/cli-actions.html))
- [Interface Layout Customization](https://awesome-repositories.com/f/user-interface-experience/interface-layout-customization.md) — Enables the definition of reusable workspace layouts through configuration files for pane arrangements. ([source](https://zellij.dev/documentation/))
- [Status Bars](https://awesome-repositories.com/f/user-interface-experience/status-bars.md) — Embeds functional UI components like status bars and tab bars directly into the terminal interface. ([source](https://zellij.dev/documentation/layout-examples.html))
- [Event-Driven Plugin Hooks](https://awesome-repositories.com/f/user-interface-experience/extensible-interfaces/plugin-renderers/event-driven-plugin-hooks.md) — Allows plugins to register for and execute logic in response to specific system and lifecycle events. ([source](https://zellij.dev/documentation/plugin-api-commands.html))
- [Event Handling Systems](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/event-handling-architectures/event-handling-systems.md) — Captures and processes keyboard, mouse, and system events to trigger programmatic actions. ([source](https://zellij.dev/documentation/plugin-api-types.html))
- [Selectable Lists](https://awesome-repositories.com/f/user-interface-experience/selectable-lists.md) — Provides interactive, searchable lists for information retrieval and command recall. ([source](https://zellij.dev/documentation/plugin-examples.html))
- [Terminal Tab Bars](https://awesome-repositories.com/f/user-interface-experience/tab-bar-customizers/terminal-tab-bars.md) — Displays a configurable interface at the top of the terminal window to manage and switch between active sessions. ([source](https://zellij.dev/documentation/tab-bar-alias.html))
- [Tabbed Navigation](https://awesome-repositories.com/f/user-interface-experience/tabbed-navigation.md) — Provides a searchable tabbed interface for switching between active terminal sessions. ([source](https://zellij.dev/documentation/plugin-examples.html))
- [Interface Appearance Customization](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/visual-styling-presentation/interface-appearance-customization.md) — Enables comprehensive customization of terminal themes, UI elements, and font rendering. ([source](https://zellij.dev/documentation/options.html))

### Operating Systems & Systems Programming

- [Keyboard Shortcut Mappings](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-interface-systems/terminal-emulation/configuration-workflow-tools/keyboard-shortcut-mappings.md) — Assigns specific terminal actions to individual keys or complex combinations involving modifiers to streamline workflow navigation and command execution. ([source](https://zellij.dev/documentation/keybindings-keys.html))

### Security & Cryptography

- [Secure Remote Access](https://awesome-repositories.com/f/security-cryptography/secure-remote-access.md) — Encrypts web-based terminal traffic using SSL certificates for secure remote access. ([source](https://zellij.dev/documentation/web-client.html))

### DevOps & Infrastructure

- [Application Behavior Configurations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/application-behavior-configurations.md) — Overrides default settings for layouts, themes, shells, and UI elements at runtime to customize the terminal environment. ([source](https://zellij.dev/documentation/command-line-options.html))
- [Plugin Parameterization](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/application-behavior-configurations/plugin-parameterization.md) — Passes custom key-value pairs to plugins during initialization to modify runtime settings. ([source](https://zellij.dev/documentation/plugin-api-configuration.html))
