Local Issues
Local Issues is a VS Code extension that keeps a lightweight issue tracker inside your workspace. Issue data is stored locally in a JSON file, by default at .vscode/issues.json.
Support
What It Does
- Groups and issues are shown in a custom
Issues sidebar.
- Issue rows show a status icon, a colored priority dot, and the title.
- Hovering an issue shows the rendered Markdown description.
- Selecting an issue opens the details webview for editing.
- Creating a new issue opens the details webview instead of a quick-pick flow.
- Groups can be created and deleted from the tree.
- Deleting a group cascades to all issues inside it.
- Issues can be edited, completed, and deleted from the tree or details view.
- Priority and status are visible in the tree and reflected in the details view.
- Completed issues can be hidden from the tree.
How To Use
- Open a folder or workspace in VS Code.
- Open the
Issues view in the Activity Bar.
- Use the tree toolbar or the inline row actions to create groups and issues.
- Click an issue to open its details and edit its content.
- Hover an issue row to read the rendered Markdown description.
Tree Layout
The issue tree is organized like this:
- group rows at the top level
- issues nested under each group
- issue order inside each group:
Issue rows are displayed in the form:
status icon + priority dot + title
Group rows show the group name and issue count.
Commands
Available commands:
Local Issues: Create Issue
Local Issues: Create Group
Local Issues: Delete Group
Local Issues: Edit Issue
Local Issues: Complete Issue
Local Issues: Delete Issue
Local Issues: Change Status
Local Issues: Change Priority
Local Issues: Toggle Hide Completed
Local Issues: Refresh
Local Issues: Import Issues
Local Issues: Export Issues
Most of these commands are also available from:
- the tree toolbar
- group row hover actions
- issue row hover actions
- the command palette
- the issue details view
Data Storage
By default, the extension stores data in:
.vscode/issues.json
You can change the path in workspace settings:
"localIssues.filePath": ".vscode/issues.json"
The file is created automatically if it does not exist.
Schema
The issues.json file uses a versioned JSON structure:
{
"version": 1,
"groups": [
{ "id": "production", "name": "Production" }
],
"issues": [
{
"id": "iss_001",
"title": "Fix login redirect",
"description": "Users are sent to the wrong page after login.",
"groupId": "production",
"status": "todo",
"priority": "high",
"createdAt": "2026-04-10T10:00:00Z",
"updatedAt": "2026-04-10T10:00:00Z"
}
]
}
version is currently 1
status must be one of todo, in-progress, blocked, or done
priority must be one of low, medium, or high
How To Develop
Prerequisites
- VS Code
- Node.js 20+
- Corepack enabled
pnpm
If pnpm is not already available, use Corepack:
corepack enable
corepack pnpm --version
Install
From the repository root:
corepack pnpm install
Build
Compile the extension once:
corepack pnpm run compile
Or keep TypeScript rebuilding automatically:
corepack pnpm run watch
Run In Dev
- Open this repository in VS Code.
- Run the build watch task or start
corepack pnpm run watch in a terminal.
- Press
F5 to launch the extension in an Extension Development Host.
The debug configuration is defined in .vscode/launch.json.
Notes
- The extension expects a workspace folder to be open in the same VS Code window.
- Hover tooltips use Markdown, but long descriptions are still better read in the details pane.
- The details view is a webview, so changes to its HTML or script often require reloading the Extension Development Host.
- Release history is in CHANGELOG.md.