You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Project .claude/commands/*.md never appear in the / menu for Claude; the per-workspace refresh only scans .claude/skills #12214
Use the Claude provider on the desktop app with a local project that has a command file at <project>/.claude/commands/start-session.md.
Open a thread in that project.
Type /start.
Expected behavior
The / menu lists /start-session, the same as the Claude Code TUI when launched in <project>.
Actual behavior
The menu shows user and plugin commands plus the project's .claude/skills/* entries, but no project .claude/commands/* entries. Claude Code does load them: the agent in the same thread lists start-session among its available commands.
Mechanism, from reading server.asar (apps/server/dist/bin.mjs) in 0.0.42:
probeClaudeCapabilities runs with cwd from ServerConfig, which is the server's own working directory. slashCommands comes from that probe's init.commands, so it never includes a project's commands.
snapshotForCwd for the Claude driver returns { ...machineSnapshot, skills }. discoverClaudeSkills(config, cwd) reads only <configDir>/skills and <cwd>/.claude/skills. slashCommands stays the machine-wide list, and <cwd>/.claude/commands is never read.
persistProvider strips workspaceSnapshots, so ~/.t3/caches/claudeAgent.json holds only the machine list (253 commands here, none of them project commands).
Suggested fix: have the Claude snapshotForCwd also scan <cwd>/.claude/commands/**/*.md (subfolders become dir:name) and merge the results into slashCommands. Or run the capability probe with the workspace cwd.
Impact
Commands defined in a project can't be found from the menu. Users with a team or workspace command set have to know each name and type it in full.
Version or commit
T3 Code desktop 0.0.42, Claude Code 2.1.273
Environment
Windows 11, local connection
Workaround
Type the full command name without autocomplete. The command should still reach Claude Code, but I have not confirmed this on this build.
Same here on macOS, desktop 0.0.42, Claude Code 2.1.283. Two data points for whoever picks this up after V2:
Typing the full command works. The thread session runs in the project cwd, so Claude Code expands it. I checked by replaying the stream-json user message T3 sends against claude in the project directory: init.slash_commands lists the project command and it executes. Only discovery is broken.
Stopgap if you mostly use one command set: link it as user-level commands, ln -s <project>/.claude/commands ~/.claude/commands. The capability probe runs from the server cwd ($HOME in the packaged app), so they then show up in the menu for every project. When the same directory is both user and project level, Claude Code lists each name once.
On main (d15210c) ClaudeDriver.snapshotForCwd still only merges discoverClaudeSkills, so this still applies. #12426 had a fix and was closed because of the V2 rewrite of the provider layer.
Activity
yupipi93 commentedon Sep 28, 2026
Same here on macOS, desktop 0.0.42, Claude Code 2.1.283. Two data points for whoever picks this up after V2:
claudein the project directory:init.slash_commandslists the project command and it executes. Only discovery is broken.ln -s <project>/.claude/commands ~/.claude/commands. The capability probe runs from the server cwd ($HOMEin the packaged app), so they then show up in the menu for every project. When the same directory is both user and project level, Claude Code lists each name once.On
main(d15210c)ClaudeDriver.snapshotForCwdstill only mergesdiscoverClaudeSkills, so this still applies. #12426 had a fix and was closed because of the V2 rewrite of the provider layer.