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
backendsession with your API and database repos - A
frontendsession with your web app and design system - The default
gwtsession 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.