Step 1: Create the GitHub App
Add @crewlineai to your group and type /setup. A repo admin should do this. Tap Create GitHub App and GitHub asks you to confirm. That's it.
/setupStep 1 of 5: create the GitHub App.
Add the bot to your group, type /setup, and tap through five short steps. No server to run, and your code stays in your own GitHub.
Where your team gives tasks and approves plans.
One you're an admin of, with GitHub Actions enabled.
An Anthropic or OpenAI API key, or your own Claude Pro/Max or ChatGPT subscription.
Add @crewlineai to your group and type /setup. A repo admin should do this. Tap Create GitHub App and GitHub asks you to confirm. That's it.
/setupChoose the repos the crew should work on, and only those. They connect to the group automatically.
Each teammate taps Link GitHub. The bot opens a private chat with a Continue with GitHub button; approve once on GitHub. Roles come from your GitHub permissions, and anyone who hasn't linked is ignored.
Tap the link and GitHub opens with the workflow file ready to commit. Then pick how your agent logs in: an API key (optionally through the key proxy with a per-run budget), or your own Claude or ChatGPT plan.
For your Claude plan: /persona add toni-max claude subscription, run claude setup-token on your computer and save the token as the repo secret CLAUDE_CODE_OAUTH_TOKEN_TONI_MAX. Your plan stays yours: it only runs your tasks, in the sandbox.
Type /task and what you want done. Your agent posts a short plan, a maintainer taps Approve, and a pull request lands in the chat. A human always merges.
/task fix the login bugChats are illustrations; the bot's exact wording may differ.
The four GitHub and Telegram steps people most often get wrong. The bot sends the same picture when you tap πΌ Show me where to click.




Make sure /setup was run by an admin of the repo, and that you've tapped Link GitHub yourself. Only linked teammates can give tasks, and the bot only reacts to commands like /task, not to ordinary messages.
Check that .github/workflows/crewline.yml exists on the default branch (the link from step 4 creates it) and that GitHub Actions is enabled for the repo under Settings β Actions.
Check the persona's secret name. For a subscription persona it's the persona name in capitals with dashes turned into underscores, for example CLAUDE_CODE_OAUTH_TOKEN_TONI_MAX or CODEX_AUTH_JSON_LENA_CODEX. For API keys it's ANTHROPIC_API_KEY or OPENAI_API_KEY. If a subscription login expired, log in again and update the secret.
In the repo: Settings β Actions β General β Workflow permissions β tick Allow GitHub Actions to create and approve pull requests. The bot also posts a one-click link to open the PR. All required settings: permissions checklist (or /permissions in your group).
See the permissions checklist. In your group, /permissions shows it with direct links to your repos' settings.
You can. Follow the manual / self-hosted setup; everything is open source.