# Reported issues for splitwise-mcp

Pod holds 10 of 10 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 [splitwise-mcp](/mcp/splitwise-mcp).

## Most discussed

### Auto-review follow-ups for PR #145: ci: typecheck in the test script, so CI actually checks types

<!-- auto-review-followup:PR-145 -->

Tracking auto-review follow-ups for #145 (verdict: **warn**).

### 🟡 Nits
- [ ] CLAUDE.md documentation (lines 9–11) should be updated to show npm test and npm run test:coverage now include typecheck step

---
Checklist regenerated from the auto-review of `4da4713` ([run](https://github.com/chrischall/splitwise-mcp/actions/runs/32971808070)). Ticks survive later rounds, but a round that reviewed an older commit can still re-list something already fixed — che

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/146) · 2026-08-26 · closed · outside contributor · 0 comments

### Auto-review follow-ups for PR #142: chore: declare a mint.yaml hosting manifest

<!-- auto-review-followup:PR-142 -->

Tracking auto-review follow-ups for #142 (verdict: **fail**).

### 🔴 Important
- [x] Incorrect app registration URL in mint.yaml: help text links to secure.splitwise.com/apps instead of secure.splitwise.com/apps/register

---
Checklist regenerated from the auto-review of `743742a` ([run](https://github.com/chrischall/splitwise-mcp/actions/runs/32890333741)). Ticks survive later rounds, but a round that reviewed an older commit can still re-list something alr

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/143) · 2026-08-25 · closed · outside contributor · 0 comments

### Auto-review follow-ups for PR #138: fix(receipts): name every blocker, suggest only the routes still open

<!-- auto-review-followup:PR-138 -->

Tracking auto-review follow-ups for #138 (verdict: **fail**).

### 🔴 Important
- [ ] src/tools/receipts.ts:208-210 — success-path text_note suggests inline:true even when inline was already requested and rejected for size, contradicting the inline_skipped field in the same response

---
Checklist regenerated from the auto-review of `5332f52` ([run](https://github.com/chrischall/splitwise-mcp/actions/runs/32600361419)). Ticks survive later rounds, but a round

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/139) · 2026-08-22 · closed · outside contributor · 1 comment

### Auto-review follow-ups for PR #136: fix(receipts): trust magic bytes over Content-Type, and name the real blocker

<!-- auto-review-followup:PR-136 -->

Tracking auto-review follow-ups for #136 (verdict: **pass**).

### 🟡 Nits
- [ ] Error `detail` priority in receipts.ts's throw path doesn't account for extract_text:true + inline:true both set on an oversized receipt — advises re-trying inline:true even when it was already tried and failed due to the size cap

---
Checklist regenerated from the auto-review of `666677f` ([run](https://github.com/chrischall/splitwise-mcp/actions/runs/32600106431)). Ticks survi

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/137) · 2026-08-22 · closed · outside contributor · 0 comments

### Auto-review follow-ups for PR #133: fix(receipts): return receipt content to the caller, not just a server path

<!-- auto-review-followup:PR-133 -->

Tracking auto-review follow-ups for #133 (verdict: **warn**).

### 🟡 Nits
- [ ] src/tools/receipts.ts:190-200 — the "nothing reached the caller" error discards `textNote` ("no text layer") and the oversize reason, so it advises re-running with `extract_text:true`/`inline:true`, the flags the caller already passed
- [ ] src/tools/receipts.ts:170-172 — `extract_text` is gated on exact `mimeType === 'application/pdf'`, so a PDF served with a mis-declared non-ge

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/134) · 2026-08-22 · closed · outside contributor · 0 comments

### Auto-review follow-ups for PR #129: feat: add sw_get_receipt for authenticated receipt downloads

<!-- auto-review-followup:PR-129 -->

Tracking auto-review follow-ups for #129 (verdict: **warn**).

### 🟡 Nits
- [ ] SPLITWISE_OUTPUT_DIR is documented in README/CLAUDE.md/.env.example but missing from manifest.json user_config + mcp_config.env, .mcp.json env, and server.json environmentVariables, so mcpb and plugin installs cannot set it
- [ ] sw_get_receipt declares annotations: { readOnlyHint: true } in src/tools/receipts.ts:64 despite writing a file to a model-supplied output_dir, unlike ev

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/130) · 2026-08-22 · closed · outside contributor · 0 comments

### Auto-review follow-ups for PR #109: ci: convert to chrischall/workflows reusable pipeline

<!-- auto-review-followup:PR-109 -->

Tracking auto-review follow-ups for #109 (verdict: **fail**).

### 🔴 Important
- [ ] ci.yml test-command drops `npm run worker:test`, silently removing tests/worker.test.ts (Worker/Durable-Object/OAUTH_KV suite) from PR CI since vitest.config.ts excludes it from plain `npm test`

---
When addressing the review on #109, resolve each item and add `Closes #<this issue>` to the PR once everything is genuinely fixed; deferred items stay open here. See the auto-re

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/110) · 2026-07-27 · closed · outside contributor · 1 comment

### Auto-review follow-ups for PR #83: refactor: pass client into tool registrars (transport-neutral)

<!-- auto-review-followup:PR-83 -->

Tracking auto-review follow-ups for #83 (verdict: **warn**).

### 🟡 Nits
- [ ] CLAUDE.md line 43 still documents the old register<Domain>Tools(server) signature and 'imports the shared client singleton' pattern, which this PR changes to register<Domain>Tools(server, client) with type-only imports

---
When addressing the review on #83, resolve each item and add `Closes #<this issue>` to the PR once everything is genuinely fixed; deferred items stay open here.

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/84) · 2026-07-14 · closed · outside contributor · 1 comment

## Most recent

### Auto-review follow-ups for PR #155: feat: add sw_healthcheck

<!-- auto-review-followup:PR-155 -->

Tracking auto-review follow-ups for #155 (verdict: **warn**).

### 🟡 Nits
- [ ] src/client.ts: credentialSource truthy-check diverges from key's nullish-coalescing resolution for an opts.apiKey === '' edge case
- [ ] src/client.ts: new credentialSource/describeCredential() logic has no direct test against a real SplitwiseClient — healthcheck.test.ts stubs it out entirely
- [ ] CLAUDE.md's 'exposes 26 tools' line is now stale — this PR brings the registered-t

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/156) · 2026-08-30 · closed · outside contributor · 0 comments

### Auto-review follow-ups for PR #96: ci: deploy the connector Worker on release

<!-- auto-review-followup:PR-96 -->

Tracking auto-review follow-ups for #96 (verdict: **warn**).

### 🟡 Nits
- [x] docs/DEPLOY-CONNECTOR.md:7 still claims 'there is no CI/CD path for it' — now stale since this PR adds an automated redeploy-on-release path; needs a clarifying note distinguishing manual bootstrap from automated redeploy

---
When addressing the review on #96, resolve each item and add `Closes #<this issue>` to the PR once everything is genuinely fixed; deferred items stay open he

[Read the thread](https://github.com/chrischall/splitwise-mcp/issues/97) · 2026-07-20 · closed · outside contributor · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/chrischall/splitwise-mcp/issues).
