Troubleshooting
A few practical checks for the most common setup and connection issues.
On this page
The setup token is rejected
Confirm that SETUP_TOKEN is configured in the environment you are using. Local and production values can differ. Update the production environment in your host's settings, or use Wrangler secrets for Cloudflare, then redeploy if your host requires it.
The first-owner setup is only for a new installation. Use the existing login if an owner has already been created.
Login or requests fail after deployment
Check APP_BASE_URL. It must exactly match your HTTPS application origin, including any custom domain, without a trailing slash. Redeploy after changing configuration.
Confirm all required secrets exist and the database migrations have been applied to the correct database.
API writing needs deployment setup
Ask your workspace operator to provision the optional AI_CREDENTIAL_KEY on the application host and apply pending migrations. This server encryption key is separate from an OpenAI or Anthropic provider key. After the host is updated, refresh AI writing settings and test/save the provider connection.
The MCP client cannot connect
Use your own deployed /api/mcp endpoint.
Include the Authorization header with the Bearer prefix.
Confirm the connection key has not been revoked.
Check that MCP_TOKEN_PEPPER is configured.
Try reading the workspace, then refresh the connection’s last-used status.
Uploaded media is unavailable
On Node hosts, check S3 credentials, bucket, region and optional endpoint. On Cloudflare, check the MEDIA binding points to your R2 bucket. Media routes are private: sign in before checking a file. A 413 response can mean the host's payload limit is lower than the app's file limit.
A routine item or reminder is missing
Check that the routine is enabled and its schedule and timezone are correct. Confirm the Cloudflare scheduled Worker or Node host's every-minute scheduler is running successfully. HTTP calls require Authorization: Bearer followed by the matching CRON_SECRET.
Home shows at most five unanswered items from today that are overdue or due within the next ten minutes. Use View all for older pending items or later scheduled work. Look in routine history if an item was completed or skipped. Mark done in Telegram completes that same item and removes it from the pending table.
If the item is pending but Telegram has not arrived, check the routine's Telegram option, private-chat connection, notification switches, quiet hours, and daily delivery cap.
For AI preparation, confirm the schedule in your external client too. The app's cron and Mark done action do not start your assistant.
A Telegram notification is delayed or uncertain
Check that limit, quiet hours and the relevant notification preference if a message has not arrived.
If delivery is marked uncertain, check Telegram before retrying because the message may already have arrived. Uncertain messages are held instead of automatically resent.