Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Sessions

What is a session?

A gwt session is a Zellij terminal session that groups multiple repositories and worktrees into a tabbed interface. Each tab represents an attached workspace with a consistent layout:

  • Left pane — AI chat agent
  • Top-right pane — gateway dashboard
  • Bottom-right pane — shell

Attaching a repository

gwt attach

This connects to the session (creating it if it doesn’t exist) without changing any tabs. To also create tabs for worktrees, use --all or specify a branch:

gwt attach --all          # reconnect + create tabs for all worktrees
gwt attach feat/my-feat   # reconnect + create tab for one branch

By default all repos are added to a session named gwt. You can override this per-project:

# .config/gwt.toml
[session]
name = "my-project"

Or per-invocation:

gwt attach --session my-project

Grouping workspaces

Use named sessions to create logical groups. For example, you might have:

  • A backend session with your API and database repos
  • A frontend session with your web app and design system
  • The default gwt session for everything else

Detaching

gwt detach        # close current workspace tab (CWD-detected)
gwt detach --all  # close all workspace tabs for this repo

The session is auto-killed when no tabs remain.

Leaving a session without stopping it

Press Ctrl+Q inside Zellij to detach from the session. All processes keep running in the background — you can reconnect later with gwt attach.

To hard-kill a session, use:

gwt session stop <name>

Managing sessions

gwt session list          # Show all active sessions
gwt session stop <name>   # Stop a session

Configuration

See session configuration for available options.