whatisgithub

What is tabkeep?

rohansx/tabkeep — explained in plain English

Analysis updated 2026-05-18

5PythonAudience · developerComplexity · 2/5LicenseSetup · moderate

In one sentence

A Linux CLI tool that saves and restores your terminal tabs, including their AI coding agent sessions, across reboots.

Mindmap

mindmap
  root((repo))
    What it does
      Snapshot terminal tabs
      Restore folder and agent session
      Systemd auto-save timer
    Tech stack
      Python
      D-Bus
      systemd
      Ghostty and Konsole
    Use cases
      Recover tabs after reboot
      Resume Claude Code session
      Automate periodic snapshots
    Audience
      Developers
      AI-assisted coders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Snapshot all open terminal tabs before a reboot so nothing is lost.

USE CASE 2

Restore an in-progress Claude Code or opencode session automatically after a reboot.

USE CASE 3

Run the bundled systemd timer to auto-save your terminal layout every two minutes.

USE CASE 4

Preserve which folder and title each terminal tab was in across a crash.

What is it built with?

PythonD-Bussystemduv

How does it compare?

rohansx/tabkeep1ncendium/aibusteraaronmayeux/ha-hurricane-tracker
Stars555
LanguagePythonPythonPython
Setup difficultymoderatemoderateeasy
Complexity2/53/52/5
Audiencedeveloperops devopsgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 5min

Konsole users must manually enable a D-Bus setting for agent session auto-resume, Ghostty needs no setup but has reduced fidelity.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

tabkeep saves and restores your terminal tabs across reboots, including the AI coding agent session running inside each one. Normally, if you close your terminal or restart your computer, you lose track of which folder each tab was in and any Claude Code, opencode, or pi session you had open there. Bookmarks only bring back a folder. tabkeep takes a snapshot of the whole layout, windows, tabs, folders, and agent sessions, and can bring it all back later. Running tabkeep save records, for each tab, the working directory, the tab title, and which AI tool was running along with its session id, plus the exact command needed to resume it. Running tabkeep restore reopens each tab in the right folder and relaunches its agent inside the shell, so quitting the agent drops you back into a normal shell instead of closing the tab. Support depends on which terminal you use. Konsole is fully supported through its own D-Bus interface, recovering windows, tabs, titles, and folders exactly, and restoring everything into one window with real tabs. Ghostty is partially supported: since it has no way to query its own state, tabkeep reads folder and session information by scanning system process information instead, which means it cannot preserve tab grouping or titles, and restoring opens separate windows rather than tabs. Other terminals like kitty and wezterm are not yet supported, though the project welcomes contributions to add them. Installation is a single command using the uv tool, and Konsole users need to flip one D-Bus setting to allow agent sessions to auto resume, which the README is careful to flag as something to enable knowingly since it lets programs type into your terminal. A bundled systemd timer can snapshot your tabs automatically every two minutes so a crash or reboot never loses more than a couple of minutes of state, though restoring after a reboot is left as a manual step you trigger yourself rather than something that runs automatically at login. The project is written in Python, ships with 65 passing tests that fake out all system interaction so they run anywhere, and is released under the MIT License.

Copy-paste prompts

Prompt 1
Install tabkeep with uv tool install -e . and show me how to run tabkeep save and tabkeep restore.
Prompt 2
Set up the bundled systemd user timer so tabkeep automatically snapshots my terminal tabs every 2 minutes.
Prompt 3
Explain the Konsole D-Bus setting tabkeep needs to auto-resume agent sessions and what enabling it means for security.
Prompt 4
Walk me through what tabkeep restore --dry-run would show before I actually restore my tabs.
Prompt 5
Explain why Ghostty support in tabkeep restores windows instead of tabs.

Frequently asked questions

What is tabkeep?

A Linux CLI tool that saves and restores your terminal tabs, including their AI coding agent sessions, across reboots.

What language is tabkeep written in?

Mainly Python. The stack also includes Python, D-Bus, systemd.

What license does tabkeep use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is tabkeep to set up?

Setup difficulty is rated moderate, with roughly 5min to a first successful run.

Who is tabkeep for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.