-
Notifications
You must be signed in to change notification settings - Fork 104
Slack connection doesn't initialize properly and Claude Code tokens are invalid #16
Description
Description
Phantom is unable to initialize Slack connection and Claude Code token is invalid when trying to hit the MCP server.
Steps to Reproduce
- Set up a Hetzner VM
- Follow the setup instructions and copy over example env
- Create a Slack app and generate tokens
- Update .env with Slack tokens, default channel id and user id
- 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. - Use the
docker exec phantom bun run phantom token create --client claude-code --scope operatorcommand to generate token - Hit
curl -H "Authorization: Bearer <token>" http://localhost:3100/mcpto validate session - returnsInvalid token - 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