Reported issues for sem
Pod holds 18 of 20 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to sem.
Most discussed
Output configurable terminal hyperlinks (OSC8) to symbol defintions etc.
Most editors have a URI scheme which allow linking to a specific line number. This would make the tool output more pleasant to interact with.
Read the thread · 2026-06-22 · closed · external user · 1 comment
MCP sem_impact / sem_context / sem_log never resolve an entity on Windows (path-separator mismatch)
Summary
On Windows, the MCP tools sem_impact, sem_context, and sem_log fail to resolve any entity, always returning Entity '<name>' not found in '<file>' (existing candidates: <file>) — including for an entity that sem_entities lists in that file and that the CLI resolves.
resolve_file_path (crates/sem-mcp/src/server.rs) returns the relative path with OS-native separators (to_string_lossy() on a PathBuf yields backslashes on Windows). Graph entities store file_path with fo
Read the thread · 2026-06-16 · closed · outside contributor · 1 comment
mcp error codes misuse internal error
Summary
The sem mcp server returns JSON-RPC error code -32603 ("Internal error") for user-recoverable mistakes — unknown entity name, path-not-found, missing file. Per JSON-RPC 2.0 §5.1, -32603 indicates a server-side bug. User-input errors should be -32602 ("Invalid params") or surfaced as MCP-style result.isError = true content blocks.
Today's behavior leads MCP clients (and the LLM agents driving them) to believe the server is broken when the user just typed a wrong name.
S
Read the thread · 2026-05-26 · closed · 1 comment
CLI impact/context silently choose one entity when names are ambiguous
Summary
sem impact and sem context silently pick the first matching entity when multiple entities have the same name. MCP sem_log already treats this as ambiguous and asks for a file path; the CLI should do the same.
Reproduction
sem impact extract_entities --json | jq '.entity'
On sem 0.6.0 / 0701e93, this succeeds and chooses one extract_entities implementation even though there are many methods/functions with that name.
Code path:
- `crates/sem-cli/src/comman
Read the thread · 2026-05-21 · closed · 1 comment
MCP installation
Hey there, it looks like there's no way to directly install the mcp server. It would be great to have an easy way to use it, either via a dedicated crate, or running sem mcp or similar, etc.
Read the thread · 2026-04-06 · closed · external user · 1 comment
Make incremental cache updates granular for import metadata and edges
Severity: High
Component: cache / incremental graph build
Affected commands: sem impact, sem graph, sem context, sem verify, MCP graph/impact tools
Reproduced on: source inspection plus generated large-repo fixtures
Summary
The incremental cache path still does too much whole-graph work after a small edit. Recent PR work reduces several in-memory scans when choosing files/entities to revisit, but the cache layer still has coarse operations that are expensive on large
Read the thread · 2026-06-04 · closed · 0 comments
Add a topology-only cache load path for impact deps and dependents
Severity: Medium
Component: CLI impact / cache / MCP graph tools
Affected commands: sem impact --deps, sem impact --dependents, MCP impact calls in dependency/dependent modes
Reproduced on: source inspection plus warm-cache large-entity fixtures
Summary
sem impact --deps and sem impact --dependents only need graph topology: entity IDs/names/types/files/line ranges and edges. Today the shared graph loader always returns (EntityGraph, Vec<SemanticEntity>), and the ca
Read the thread · 2026-06-04 · closed · 0 comments
Add public graph-build phase timings and large generated fixtures
Severity: Medium
Component: benchmarks / observability / performance regression testing
Affected commands: sem impact, sem graph, sem context, sem verify, MCP graph/impact tools
Reproduced on: repeated performance investigations that required ad hoc timing
Summary
Recent performance work has found several real graph-build bottlenecks, but the project still lacks a public, repeatable way to measure large-repo behavior by phase. That makes performance regressions hard
Read the thread · 2026-06-04 · closed · 0 comments
Most recent
Compact fallback reference indexes used by graph resolution
Severity: Medium
Component: parser / graph fallback resolution
Affected commands: cold or partial-cache sem impact, sem graph, sem verify, MCP graph/impact tools
Reproduced on: source inspection of the graph-scope consolidation branch plus generated fixtures
Summary
The graph-scope consolidation work bounds fallback reference scanning to direct entity ranges and introduces per-file reference indexes. That is a correctness and asymptotic improvement over repeated full-c
Read the thread · 2026-06-04 · closed · 0 comments
Bag-of-words fallback invents call edges the scope resolver already declined
Severity: High
Component: graph / dependency-edge resolution (Phase-2 bag-of-words fallback)
Affected commands: sem graph, sem impact, sem context, sem verify
Reproduced on: sem 0.7.0 (commit 54df10c)
Summary
After the precise scope resolver runs, a cruder Phase-2 "bag-of-words" pass tokenizes each entity's content and links any token that name-matches a symbol in the table. This pass re-resolves names the scope resolver had already (correctly) declined to link,
Read the thread · 2026-06-01 · closed · 0 comments
mcp sem diff json does not mirror cli
Summary
The README states MCP tools "mirror the CLI commands exactly." sem_diff does not — it returns a different JSON shape with snake_case fields (base_ref, target_ref, files_analyzed, total_changes, snake_case change fields) instead of the CLI's {summary, changes[]} with camelCase fields (entityId, entityType, filePath, beforeContent, afterContent, structuralChange).
This is a specific instance of the broader JSON-schema-fragmentation issue, but worth its own tick
Read the thread · 2026-05-26 · closed · 0 comments
mcp tools accept unknown fields
Summary
Most MCP tools silently accept unknown argument fields, falling back to defaults instead of rejecting the request. A typo like tokenBudget (camelCase) instead of token_budget (snake_case, the actual schema) is accepted, and the agent gets the default budget of 8000 with no signal that its requested budget was discarded.
sem_entities appears to reject unknown fields correctly. The behavior is inconsistent across tools.
Severity
P2 — silent data loss for agent typos. The MC
Read the thread · 2026-05-26 · closed · 0 comments
mcp file path ignored for disambiguation
Summary
The MCP sem_context and sem_impact tools accept a file_path argument intended to disambiguate same-named entities across files, but the underlying entity lookup falls back to "any entity with this name" when no (name, file_path) match is found. The caller-supplied file_path is echoed in the response but not actually enforced — so the wrong entity (in a wrong file) can be returned silently.
Severity
P1 — silent wrong-entity selection in a documented MCP API. Agents that
Read the thread · 2026-05-26 · closed · 0 comments
mcp instructions text references wrong tool names
Summary
The MCP initialize response's instructions field tells LLM clients there are six tools called entities, diff, blame, impact, log, context. The actual registered tool names are sem_entities, sem_diff, sem_blame, sem_impact, sem_log, sem_context (prefixed). A model that reads instructions to discover what to call will guess entities and get a Method not found error.
Severity
P2 — affects every model interaction. The fix is one string edit.
Environment
- sem `0.6
Read the thread · 2026-05-26 · closed · 0 comments
sem setup no path warning
Summary
sem setup reports Done! Running git diff in any repo will now use sem. without checking whether the wrapper directory (~/.local/bin/) is actually on the user's $PATH. If it is not, every subsequent git diff fails with error: cannot run sem-diff-wrapper: No such file or directory; fatal: external diff died, stopping at <file> — across every repo on the machine.
Severity
P1 — the post-install state is silently broken on a common configuration. Many distros and shell se
Read the thread · 2026-05-26 · closed · 0 comments
mcp server terminates on malformed json
Summary
The sem mcp server terminates with exit code 0 when it receives a single line of malformed JSON over stdin, instead of replying with a JSON-RPC -32700 (Parse error) and continuing to serve. This means any flaky or buggy MCP client can kill the session with one bad frame — line buffering hiccup, stray newline, partial write — with no recovery path.
Severity
P1 — MCP availability / protocol correctness. A correctly-behaving JSON-RPC server should not exit on a single malformed
Read the thread · 2026-05-26 · closed · 0 comments
MCP API accepts invalid impact modes and reports rmcp server metadata
This was generated by AI during triage.
Severity: Low
Suggested labels: bug, mcp, validation, metadata, impact
Validated against: sem 0.6.0, local main commit 962a93b.
Summary
Two small MCP API polish issues make client diagnostics less reliable:
sem_impact.modeaccepts invalid strings and silently runsall.- The MCP
initializeresponse identifies the server asrmcpinstead of sem.
They are low-risk individually, but both affect machine clients trying to v
Read the thread · 2026-05-23 · closed · 0 comments
MCP graph tools include .gitignored files that CLI graph excludes
This was generated by AI during triage.
Severity: Medium
Suggested labels: bug, mcp, graph, ignore-rules
Validated against: sem 0.6.0, local main commit 962a93b.
Reproduction
tmp=$(mktemp -d /tmp/sem-mcp-ignore.XXXXXX)
cd "$tmp"
git init -q
git config user.email test@example.com
git config user.name Test
printf 'ignored.py\n' > .gitignore
printf 'def target():\n return 1\n' > src.py
printf 'from src import target\n\ndef ignored_caller():\n return target()\n'
[Read the thread](https://github.com/Ataraxy-Labs/sem/issues/155) · 2026-05-23 · closed · 0 comments
The remaining reports are on [the project's issue tracker](https://github.com/Ataraxy-Labs/sem/issues).