{ "identifier": "unsupervised.claudenova", "name": "Claude", "organization": "Unsupervised", "description": "Claude Code in Nova — a chat sidebar, a live transcript, and tool approvals you review in the editor.", "version": "1.0", "min_runtime": "10", "categories": ["sidebars", "commands"], "license": "MIT", "repository": "https://git.unsupervised.studio/Unsupervised/claude-nova", "bugs": "https://git.unsupervised.studio/Unsupervised/claude-nova/issues", "main": "main.js", "entitlements": { "process": true, "filesystem": "readwrite", "clipboard": true }, "commands": { "extensions": [ {"title": "Ask Claude…", "command": "claudenova.ask", "shortcut": "cmd-shift-l"}, {"title": "Plan with Claude…", "command": "claudenova.plan", "shortcut": "cmd-shift-p"}, {"title": "Add Files to Context…", "command": "claudenova.addFiles"}, {"title": "Show Transcript", "command": "claudenova.showTranscript"}, {"separator": true}, {"title": "New Session", "command": "claudenova.newSession"}, {"title": "Resume Session…", "command": "claudenova.resumeSession"}, {"title": "Stop Claude", "command": "claudenova.interrupt"}, {"title": "End Session", "command": "claudenova.endSession"}, {"separator": true}, {"title": "Set Model…", "command": "claudenova.setModel"}, {"title": "Set Permission Mode…", "command": "claudenova.setPermissionMode"}, {"separator": true}, {"title": "Sign In…", "command": "claudenova.signIn"}, {"title": "Sign Out", "command": "claudenova.signOut"}, {"title": "Show Account Status", "command": "claudenova.authStatus"}, {"title": "Set API Key…", "command": "claudenova.setApiKey"}, {"title": "Clear Stored API Key", "command": "claudenova.clearApiKey"} ], "editor": [ {"title": "Ask Claude About Selection…", "command": "claudenova.askAboutSelection", "shortcut": "cmd-ctrl-l"}, {"title": "Add File to Claude's Context", "command": "claudenova.addFileContext"} ] }, "config": [ { "key": "claudenova.binaryPath", "title": "Claude Code executable", "description": "Path to the `claude` executable. Leave blank to search PATH and the standard install locations.", "type": "path", "placeholder": "claude" }, { "key": "claudenova.model", "title": "Model", "description": "Model alias passed to Claude Code. “Default” uses whatever your Claude Code settings specify.", "type": "enum", "values": [ ["", "Default"], ["opus", "Opus"], ["sonnet", "Sonnet"], ["haiku", "Haiku"], ["fable", "Fable"] ], "default": "" }, { "key": "claudenova.effort", "title": "Effort", "description": "How much thinking and exploration Claude does per turn.", "type": "enum", "values": [ ["", "Default"], ["low", "Low"], ["medium", "Medium"], ["high", "High"], ["xhigh", "Extra High"], ["max", "Max"] ], "default": "" }, { "key": "claudenova.permissionMode", "title": "Permission mode", "description": "How tool use is approved. “Manual” asks you before every tool that needs permission.", "type": "enum", "values": [ ["manual", "Manual — ask before each tool"], ["acceptEdits", "Accept Edits — auto-approve file edits"], ["plan", "Plan — research only, no changes"], ["auto", "Auto — Claude decides what needs asking"], ["bypassPermissions", "Bypass — approve everything (dangerous)"] ], "default": "manual" }, { "key": "claudenova.reviewEdits", "title": "Reviewing file changes", "description": "How Claude's edits are presented when they need approval.", "type": "enum", "values": [ ["editor", "Open the proposed file — save to apply, close to reject"], ["panel", "Ask in a panel, with the diff on request"] ], "default": "editor" }, { "key": "claudenova.openTranscript", "title": "Open the transcript automatically", "description": "Open the transcript tab when a session starts.", "type": "boolean", "default": true }, { "key": "claudenova.streamPartial", "title": "Stream text as it is generated", "description": "Show Claude's reply token by token instead of message by message.", "type": "boolean", "default": true }, { "key": "claudenova.showThinking", "title": "Show thinking in the transcript", "type": "boolean", "default": true }, { "key": "claudenova.includeSelection", "title": "Include the editor selection with prompts", "description": "When text is selected, send the file, line range, and selected text along with your question.", "type": "boolean", "default": true }, { "key": "claudenova.extraArgs", "title": "Additional CLI arguments", "description": "Space-separated arguments appended to the `claude` command line. For advanced use.", "type": "string", "placeholder": "--add-dir ../shared" } ], "configWorkspace": [ { "key": "claudenova.model", "title": "Model", "type": "enum", "values": [ ["", "Inherit from global settings"], ["opus", "Opus"], ["sonnet", "Sonnet"], ["haiku", "Haiku"], ["fable", "Fable"] ], "default": "" }, { "key": "claudenova.permissionMode", "title": "Permission mode", "type": "enum", "values": [ ["", "Inherit from global settings"], ["manual", "Manual — ask before each tool"], ["acceptEdits", "Accept Edits — auto-approve file edits"], ["plan", "Plan — research only, no changes"], ["auto", "Auto — Claude decides what needs asking"], ["bypassPermissions", "Bypass — approve everything (dangerous)"] ], "default": "" } ], "sidebars": [ { "id": "claude", "name": "Claude", "smallImage": "claude-small", "largeImage": "claude-large", "sections": [ { "id": "claude.session", "name": "Session", "allowMultiple": false, "placeholderText": "No session yet.\nPress New Session to start one.", "placeholderImage": "claude-placeholder", "headerCommands": [ {"title": "Ask Claude", "image": "__builtin.action", "tooltip": "Ask Claude…", "command": "claudenova.ask"}, {"title": "New Session", "image": "__builtin.add", "tooltip": "Start a new session", "command": "claudenova.newSession"}, {"title": "Refresh", "image": "__builtin.refresh", "tooltip": "Refresh account status", "command": "claudenova.refreshStatus"} ], "contextCommands": [ {"title": "Set Model…", "command": "claudenova.setModel"}, {"title": "Set Permission Mode…", "command": "claudenova.setPermissionMode"}, {"separator": true}, {"title": "Stop Claude", "command": "claudenova.interrupt"}, {"title": "End Session", "command": "claudenova.endSession"} ] }, { "id": "claude.approvals", "name": "Needs Approval", "allowMultiple": false, "placeholderText": "Nothing waiting on you.", "placeholderImage": "claude-placeholder", "contextCommands": [ {"title": "Choose", "command": "claudenova.approvalAction", "when": "viewItem == 'approval-action'"}, {"title": "Review…", "command": "claudenova.reviewApproval", "when": "viewItem == 'approval'"}, {"title": "Allow", "command": "claudenova.allowApproval", "when": "viewItem == 'approval'"}, {"title": "Allow for This Session", "command": "claudenova.allowApprovalAlways", "when": "viewItem == 'approval'"}, {"title": "Deny", "command": "claudenova.denyApproval", "when": "viewItem == 'approval'"} ] }, { "id": "claude.activity", "name": "Activity", "allowMultiple": false, "placeholderText": "Claude's tool use shows up here.", "headerCommands": [ {"title": "Show Transcript", "image": "__builtin.path", "tooltip": "Show the transcript", "command": "claudenova.showTranscript"} ], "contextCommands": [ {"title": "Open File", "command": "claudenova.openActivityFile", "when": "viewItem == 'activity-file'"}, {"title": "Copy Details", "command": "claudenova.copyActivity"} ] }, { "id": "claude.changes", "name": "Changed Files", "allowMultiple": true, "placeholderText": "Files Claude edits appear here.", "contextCommands": [ {"title": "Open File", "command": "claudenova.openChangedFile"}, {"title": "Show Change…", "command": "claudenova.showChangeDiff"}, {"separator": true}, {"title": "Clear List", "command": "claudenova.clearChanges"} ] } ] } ] }