A developer’s workday in one window
Download · The tour on the website · Docs
- Your tracker tasks, one list — GitHub, GitLab, Jira, Trello, Gitea, Forgejo, Redmine, Todoist, Asana, ClickUp, Sentry, Bitbucket, plus Mattermost for @mentions. Read-only unless you switch writes on.
- Capture from any app —
Ctrl+Shift+Space, typefix login 15:00 p1 #auth, done. - Knows your branch — check out
APP-112-…and APP-112 is at the top of the window. - Vim-style keys —
jk,g b,d,/; any layout, every key rebindable. - Yours, on disk — one readable
state.json. No account, no analytics, works offline. Free, MIT.
One line, and the task is in today's plan at 15:00
- Install — from the latest release: Windows
setup.exeor portable.zip, macOS.dmg, Linux.AppImage(Qt inside, nothing else to install). Orscoop bucket add tabless https://github.com/sectapunterx/tablessthenscoop install tabless. - Connect a tracker — Settings → Integrations → Connect with browser. A token works everywhere too.
- Add your calendar — paste an
.icslink from Outlook, Google or iCloud. Read-only. - Press
?— every key on one screen.
Coming from lowkey or heap? Same app, new name. On the first start your data folder is copied over
once — tasks, notes, settings, backups, snapshots and tracker tokens, so nothing needs signing in again.
The old folder stays where it was, with a MOVED-TO-TABLESS.txt note inside.
Windows or macOS warns you on first launch?
The builds are not signed with a paid certificate yet: a free signing service for open-source projects turned the application down, and the Apple developer fee is not covered yet. The warning has nothing to do with the code itself.
- Windows — SmartScreen says "Windows protected your PC": click More info → Run anyway. Installing with Scoop skips the download prompt in the browser.
- macOS — the app is ad-hoc signed but not notarized: right-click it in Applications → Open. On macOS 15 and later, open it once, then go to System Settings → Privacy & Security → Open Anyway.
Every release ships SHA256SUMS and an SBOM next to the files, the in-app updater refuses a file whose
checksum does not match, and you can build it yourself.
Morning. Today shows the meetings and tasks of the day by the hour, plus what is in progress and due. The week puts the meetings and the planned work side by side.
Week — meetings and planned tasks side by side
A thought mid-call. Ctrl+Shift+Space over any app. Date, time, priority and label are read from the
words, in English or Russian. Ctrl+Shift+N does the same for a note.
Starting work. Check out the ticket's branch — the task shows up top with its PR state from your own
gh or glab, and moves to In Progress (one switch turns that off).
Board — your tasks by status, one keypress per move
Your own layer on every ticket. Private notes, checklist, tags and dates on any tracker task. A sync never overwrites them, and none of it goes back to the tracker.
A task opens as a document — plan, code, history
Notes that point at work. #APP-112 in a note becomes a link with the task's title. Bring an existing
folder of .md files or an Obsidian vault — you see what comes in before anything is copied.
Notes — Markdown linked to tasks
| Write to your tracker | Issues come in read-only. Status on card move is a per-tracker switch, off by default, and the issue is re-checked before anything is sent. Titles, descriptions and comments are never written. |
| Phone home | No analytics. After a crash the app offers a report you read first and send yourself as a GitHub issue; it never sends one on its own. The update check on start can be turned off; updates install only on your click. |
| Run in the background | Only while its window or tray icon is open. Start at login is off. |
| Lose your work | Daily backups (newest 20 kept) and a time machine of snapshots you can step back through. |
The Quiet style — the same day, less on screen
| Key | Does |
|---|---|
Ctrl+K |
Find anything, run any command |
Ctrl+1 2 3 |
Today · Tasks · Notes |
g b · g l · g c |
Board · list · calendar |
j k · h l |
Move the cursor |
d · s |
Done · schedule |
y y · y b |
Copy task id · branch name |
/ |
Filter the section you are in |
Keys are read by their place on the keyboard, so they work in any layout. Full map: docs/HOTKEYS.md.
The filter is a small query language — same in board, list and calendar:
status:blocked due:week is:overdue priority:p0,p1 branch:login estimate:>2h -status:done bug OR crash
tabless today # overdue first, then what's on today
tabless add "fix login tomorrow 14:00 p1 #backend"
tabless now # the current task — fits a shell promptChanges show up in the open window at once. On Windows the command is tabless-cli. Starship snippet and
the rest: docs/CLI.md.
- you need a shared team board — this is your desk, the team's tracker stays the shared place;
- you want something to plan your day for you — it shows the facts, the decisions stay yours;
- you need live sync between machines — for now it is export and import;
- you work from a phone — there is no mobile or web version.
- Keyboard — every key, and how to rebind them
- Trackers — connecting each one; what is read, what may be written
- Data and backups — where files live, restores, moving between machines
- Command line · Tutorial
- Building from source — Qt 6.9+, C++20 · Contributing
Bug reports and pull requests are welcome — please attach logs/tabless.log.
MIT — see LICENSE. Bundled fonts (Golos Text, JetBrains Mono) are under the SIL OFL 1.1, see THIRD_PARTY_NOTICES.md.

