Skip to content

Slack connection doesn't initialize properly and Claude Code tokens are invalid #16

@asynchroza

Description

@asynchroza

Description

Phantom is unable to initialize Slack connection and Claude Code token is invalid when trying to hit the MCP server.

Steps to Reproduce

  1. Set up a Hetzner VM
  2. Follow the setup instructions and copy over example env
  3. Create a Slack app and generate tokens
  4. Update .env with Slack tokens, default channel id and user id
  5. Health endpoint returns {"status":"ok","uptime":3,"version":"0.18.2","agent":"phantom","role":{"id":"swe","name":"Software Engineer"},"channels":{"slack":false},"memory":{"qdrant":true,"ollama":true,"configured":true},"evolution":{"generation":0},"onboarding":"pending"} - Slack channel is initialized but false.
  6. Use the docker exec phantom bun run phantom token create --client claude-code --scope operator command to generate token
  7. Hit curl -H "Authorization: Bearer <token>" http://localhost:3100/mcp to validate session - returns Invalid token
  8. Revoke token and hit the above mentioned endpoint again - returns Missing session

Expected Behavior

I get a slack message and can onboard Phantom. I can communicate with Phantom over MCP.

Actual Behavior

Health endpoint returns {"status":"ok","uptime":3,"version":"0.18.2","agent":"phantom","role":{"id":"swe","name":"Software Engineer"},"channels":{"slack":false},"memory":{"qdrant":true,"ollama":true,"configured":true},"evolution":{"generation":0},"onboarding":"pending"}

Slack exists in channels but it's false. If I don't provide user id or channel id, slack channel is not present in channels object on phantom reinitialization.

I successfully generate a claude code token but it's invalid when I try to authenticate

Environment

  • OS: Ubuntu 24.04.4 LTS
  • Docker version: Docker version 29.3.1, build c2be9cc
  • Phantom version: 0.18.2
  • Deployment method: Docker
  • Model: No specified model

Logs

There are no relevant logs whatsoever:

phantom-ollama  | time=2026-03-31T20:52:16.699Z level=INFO source=download.go:179 msg="downloading c71d239df917 in 1 11 KB part(s)"
phantom-qdrant  | 2026-03-31T20:55:45.106675Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.005801
phantom-qdrant  | 2026-03-31T20:55:45.114004Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.005903
phantom-qdrant  | 2026-03-31T20:55:45.123287Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.005800
phantom-qdrant  | 2026-03-31T20:55:45.129128Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 74 "-" "Bun/1.3.11" 0.004964
phantom-qdrant  | 2026-03-31T20:55:45.134073Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004253
phantom-qdrant  | 2026-03-31T20:55:45.138373Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003418
phantom-qdrant  | 2026-03-31T20:55:45.142803Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003720
phantom-ollama  | time=2026-03-31T20:52:18.036Z level=INFO source=download.go:179 msg="downloading ce4a164fc046 in 1 17 B part(s)"
phantom-ollama  | time=2026-03-31T20:52:19.391Z level=INFO source=download.go:179 msg="downloading 31df23ea7daa in 1 420 B part(s)"
phantom-ollama  | [GIN] 2026/03/31 - 20:52:21 | 200 |  8.193180426s |      172.18.0.4 | POST     "/api/pull"
phantom-ollama  | [GIN] 2026/03/31 - 20:52:22 | 200 |     671.752µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:52:23 | 200 |     796.763µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:52:30 | 200 |     551.971µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:52:53 | 200 |    1.176558ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:53:23 | 200 |    1.399027ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:53:54 | 200 |    1.303368ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:54:26 | 200 |    1.259164ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:54:26 | 200 |     786.577µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:54:27 | 200 |     600.448µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:54:28 | 200 |    1.196448ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:54:31 | 200 |     831.787µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:01 | 200 |    1.624877ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:31 | 200 |     563.973µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:35 | 200 |     1.01069ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:43 | 200 |     837.157µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:43 | 200 |     676.112µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:45 | 200 |     606.494µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:48 | 200 |     661.373µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:55:48 | 200 |     752.857µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:56:19 | 200 |    1.223755ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:56:49 | 200 |    3.834592ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:57:19 | 200 |     734.508µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:57:27 | 200 |     559.344µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:57:49 | 200 |     656.681µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:58:19 | 200 |      853.01µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:58:49 | 200 |    3.272666ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:59:19 | 200 |      822.46µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 20:59:49 | 200 |     751.283µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:00:19 | 200 |     605.883µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:00:49 | 200 |      673.01µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:01:20 | 200 |    1.915227ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:01:50 | 200 |     930.526µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:01:52 | 200 |    1.603534ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:01:52 | 200 |     790.618µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:01:53 | 200 |     746.746µs |      172.18.0.4 | GET      "/api/tags"
phantom         | [phantom] Starting bootstrap...
phantom         | [phantom] Waiting for Qdrant at http://qdrant:6333...
phantom         | [phantom] Qdrant is ready
phantom         | [phantom] Waiting for Ollama at http://ollama:11434...
phantom         | [phantom] Ollama is ready
phantom         | [phantom] Embedding model nomic-embed-text already available
phantom         | [phantom] Configuration exists, skipping init
phantom         | [phantom] Starting Phantom...
phantom         | [phantom] Starting...
phantom         | [phantom] Config loaded: phantom (claude-sonnet-4-6, effort: max)
phantom         | [roles] Loaded role: Software Engineer (swe)
phantom         | [phantom] Database ready
phantom         | [memory] Memory system initialized successfully.
phantom         | [evolution] LLM judges enabled (API key detected)
phantom         | [evolution] Engine initialized (v0, LLM judges)
phantom         | [mcp] MCP server initialized (dynamic tools + scheduler + web UI + secrets wired to agent)
phantom         | [phantom] Slack channel registered
phantom         | [onboarding] Onboarding prompt injected into agent runtime
phantom         | [phantom] HTTP server listening on port 3100
phantom-ollama  | [GIN] 2026/03/31 - 21:01:57 | 200 |     612.055µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:01:57 | 200 |     819.032µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:02:27 | 200 |    1.233792ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:02:57 | 200 |     618.621µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:03:27 | 200 |    1.659202ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:03:57 | 200 |      436.17µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:04:27 | 200 |    1.051532ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:04:57 | 200 |    1.791173ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:05:28 | 200 |     530.084µs |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:05:58 | 200 |    1.448605ms |      172.18.0.4 | GET      "/api/tags"
phantom-ollama  | [GIN] 2026/03/31 - 21:06:28 | 200 |    1.348721ms |      172.18.0.4 | GET      "/api/tags"
phantom-qdrant  | 2026-03-31T20:55:45.148399Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.004596
phantom-qdrant  | 2026-03-31T20:55:45.151943Z  INFO actix_web::middleware::logger: 172.18.0.4 "GET /collections/semantic_facts HTTP/1.1" 200 553 "-" "Bun/1.3.11" 0.002186
phantom-qdrant  | 2026-03-31T20:55:45.155723Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.003465
phantom-qdrant  | 2026-03-31T20:55:45.159633Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.003137
phantom-qdrant  | 2026-03-31T20:55:45.163671Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.003292
phantom-qdrant  | 2026-03-31T20:55:45.168787Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.003940
phantom-qdrant  | 2026-03-31T20:55:45.173220Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003849
phantom-qdrant  | 2026-03-31T20:55:45.178792Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004617
phantom-qdrant  | 2026-03-31T20:55:45.184811Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003541
phantom-qdrant  | 2026-03-31T20:55:45.190400Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004694
phantom-qdrant  | 2026-03-31T20:55:45.193320Z  INFO actix_web::middleware::logger: 172.18.0.4 "GET /collections/procedures HTTP/1.1" 200 532 "-" "Bun/1.3.11" 0.001486
phantom-qdrant  | 2026-03-31T20:55:45.199540Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.005553
phantom-qdrant  | 2026-03-31T20:55:45.203251Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.002954
phantom-qdrant  | 2026-03-31T20:55:45.207765Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003980
phantom-qdrant  | 2026-03-31T20:55:45.214256Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.005753
phantom-qdrant  | 2026-03-31T20:55:45.219703Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004603
phantom-qdrant  | 2026-03-31T21:01:53.502443Z  INFO actix_web::middleware::logger: 172.18.0.4 "GET /collections/episodes HTTP/1.1" 200 578 "-" "Bun/1.3.11" 0.005207
phantom-qdrant  | 2026-03-31T21:01:53.510538Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.005844
phantom-qdrant  | 2026-03-31T21:01:53.516036Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.004606
phantom-qdrant  | 2026-03-31T21:01:53.520793Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003964
phantom-qdrant  | 2026-03-31T21:01:53.525865Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.003932
phantom-qdrant  | 2026-03-31T21:01:53.531351Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004473
phantom-qdrant  | 2026-03-31T21:01:53.536433Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004162
phantom-qdrant  | 2026-03-31T21:01:53.542335Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 74 "-" "Bun/1.3.11" 0.003799
phantom-qdrant  | 2026-03-31T21:01:53.547099Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003727
phantom-qdrant  | 2026-03-31T21:01:53.551716Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003771
phantom-qdrant  | 2026-03-31T21:01:53.558216Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004058
phantom-qdrant  | 2026-03-31T21:01:53.563130Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/episodes/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.004053
phantom-qdrant  | 2026-03-31T21:01:53.565502Z  INFO actix_web::middleware::logger: 172.18.0.4 "GET /collections/semantic_facts HTTP/1.1" 200 547 "-" "Bun/1.3.11" 0.001395
phantom-qdrant  | 2026-03-31T21:01:53.570196Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004248
phantom-qdrant  | 2026-03-31T21:01:53.574512Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003377
phantom-qdrant  | 2026-03-31T21:01:53.579361Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003993
phantom-qdrant  | 2026-03-31T21:01:53.584016Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.003853
phantom-qdrant  | 2026-03-31T21:01:53.589493Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003879
phantom-qdrant  | 2026-03-31T21:01:53.593950Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.003758
phantom-qdrant  | 2026-03-31T21:01:53.601387Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.006532
phantom-qdrant  | 2026-03-31T21:01:53.606463Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/semantic_facts/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004175
phantom-qdrant  | 2026-03-31T21:01:53.609117Z  INFO actix_web::middleware::logger: 172.18.0.4 "GET /collections/procedures HTTP/1.1" 200 531 "-" "Bun/1.3.11" 0.001675
phantom-qdrant  | 2026-03-31T21:01:53.614155Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004867
phantom-qdrant  | 2026-03-31T21:01:53.619736Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.004399
phantom-qdrant  | 2026-03-31T21:01:53.624840Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004030
phantom-qdrant  | 2026-03-31T21:01:53.629941Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 76 "-" "Bun/1.3.11" 0.004061
phantom-qdrant  | 2026-03-31T21:01:53.634325Z  INFO actix_web::middleware::logger: 172.18.0.4 "PUT /collections/procedures/index HTTP/1.1" 200 75 "-" "Bun/1.3.11" 0.003432

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions