VS Code Extension
kleidi-task includes a VS Code extension that brings your tasks directly into the editor. It works in both VS Code and Cursor.
Prerequisites
The extension communicates with the klt HTTP server. Make sure it’s running before using the extension:
klt serveBy default, the server runs on http://localhost:7842.
Installation
Step 1: Build the VSIX package
The extension needs to be built from source. You need Node.js (18+) installed.
cd vscode-extension
npm install # install dependencies
npm run build # compile TypeScript → JavaScriptThen create the .vsix package:
npx @vscode/vsce package --allow-missing-repositoryThis produces a file like kleidi-task-0.1.0.vsix in the vscode-extension/ directory.
Step 2: Install into VS Code or Cursor
There are three ways to install the .vsix file:
Option A — Command Palette (VS Code & Cursor)
- Open VS Code or Cursor
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type “Extensions: Install from VSIX…”
- Navigate to
vscode-extension/kleidi-task-0.1.0.vsixand select it - Reload the window when prompted
Option B — CLI
# VS Code
code --install-extension vscode-extension/kleidi-task-0.1.0.vsix
# Cursor
cursor --install-extension vscode-extension/kleidi-task-0.1.0.vsixOption C — Drag and drop
Open the Extensions panel (Ctrl+Shift+X), then drag the .vsix file onto the panel.
Verify installation
After installation, you should see:
- A Kvik Tasks icon in the activity bar (left sidebar)
- A klt: offline or klt: X todo · Y doing entry in the status bar (bottom)
If the activity bar icon doesn’t appear, reload the window: Ctrl+Shift+P → “Developer: Reload Window”.
Uninstall
To remove the extension:
- Open Extensions panel (
Ctrl+Shift+X) - Find “Kvik Tasks”
- Click “Uninstall”
Or via CLI: code --uninstall-extension tomas-chudjak.kleidi-task
Development mode
For contributing or testing changes without creating a .vsix:
cd vscode-extension
npm install
npm run build
code --extensionDevelopmentPath=$(pwd)This opens a new VS Code window with the extension loaded. Changes require rebuilding (npm run build) and reloading the window (Ctrl+Shift+P → “Developer: Reload Window”).
Use npm run watch for automatic recompilation on file save.
Features
Task sidebar
After installation, a new Kvik Tasks icon appears in the activity bar (left side). Clicking it opens the task sidebar showing all tasks from your projects.
- Single project: Tasks are listed directly
- Multiple projects: Tasks are grouped by project name, each expandable
Each task shows:
- Task title
- ID, type, and priority in the description line
- Status icon:
○todo,▶doing,✓done
Status bar
The bottom status bar shows a summary of your tasks across all projects:
☑ klt: 3 todo · 2 doingIf the server is not running, it shows:
☑ klt: offlineClick the status bar item to show all tasks in the sidebar.
Filtering
Use the sidebar menu (three dots at the top of the Tasks panel) to filter:
- Show Todo — only tasks with status
todo - Show Doing — only tasks with status
doing - Show All — all tasks (default)
You can also trigger filters via Command Palette:
Kvik Tasks: Show TodoKvik Tasks: Show DoingKvik Tasks: Show All
Task actions
Right-click any task in the sidebar, or use the inline icon:
Insert to Terminal
Sends the task context into the active terminal without pressing Enter:
task: #42 Fix login bug (bug, P5, doing)This is useful for AI chat workflows — paste the task into a Claude Code session, Copilot chat, or any terminal-based assistant. The task: prefix triggers kleidi-task’ auto-creation behavior in Claude.
If no terminal is open, a new one is created.
Open in Browser
Opens the task detail page in your default browser:
http://localhost:7842/p/my-project/t/42This gives you access to the full web UI for editing description, viewing workflow timeline, git commits, and more.
Copy Reference
Copies the task reference #42 to the clipboard. Useful for commit messages:
git commit -m "fix login validation refs #42"Refresh
Tasks auto-refresh every 10 seconds by default. You can also manually refresh:
- Click the refresh icon (↻) in the sidebar header
- Command Palette:
Kvik Tasks: Refresh Tasks
Configuration
Open VS Code Settings (Ctrl+,) and search for “Kvik Tasks”:
| Setting | Default | Description |
|---|---|---|
kleidiTask.serverUrl | http://localhost:7842 | URL of the klt server |
kleidiTask.refreshInterval | 10 | Auto-refresh interval in seconds. Set to 0 to disable |
Custom server URL
If you run klt on a different port or host (e.g., Docker deployment):
{
"kleidiTask.serverUrl": "http://192.168.1.100:7842"
}Authentication
If Basic Auth is enabled on the server, include credentials in the URL:
{
"kleidiTask.serverUrl": "http://tomas:password@localhost:7842"
}Typical workflows
Start of day
- Open VS Code
- Glance at the status bar — see how many tasks are todo/doing
- Open the task sidebar to review your task list
- Click a task → “Insert to Terminal” → paste into Claude Code to start working
During development
- Find a bug → use Claude:
bug: login fails on Firefox - Task appears in sidebar within 10 seconds
- Fix the bug, commit with
refs #42in message - Mark as done via web UI or Claude
Commit workflow
- Right-click task → “Copy Reference”
- Use
#42in your commit message - Git integration in klt links the commit to the task automatically
Troubleshooting
Sidebar shows “Cannot connect to klt serve”
- Make sure
klt serveis running - Check the server URL in settings matches your setup
- Try opening
http://localhost:7842in a browser
Tasks not updating
- Click the refresh button in the sidebar header
- Check if the refresh interval is set to 0 (disabled)
Extension not appearing in activity bar
- Reload VS Code window (
Ctrl+Shift+P→ “Developer: Reload Window”) - Check the Extensions panel to verify kleidi-task is enabled