All articles

Control Tarsk from Slack

Control Tarsk from Slack cover image

Control Tarsk from Slack. Create a clone with @Tarsk branch in a bound channel, keep the conversation in that Slack thread, and get the assistant’s reply back in Slack while Tarsk runs on your computer.

What problem this solves

Your team already talks in Slack. Bind a channel to a Tarsk project and anyone in that channel can ask the agent for help without leaving Slack. Open Tarsk when you need diffs and tool traces.

What you need

  • Tarsk running on your computer with at least one project
  • A Slack workspace where you can create and install apps
  • About ten minutes

Tarsk only responds while the Tarsk process is running. There is no always-on hosted Slack bot.

Step 1: Create a Slack app from the Tarsk manifest

In Tarsk, open Settings → Slack and click Copy app manifest.

At api.slack.com/apps, choose Create New AppFrom a manifest, paste the JSON, and create the app. Install it to your workspace.

Copy:

  1. The Bot User OAuth Token (xoxb-…) from OAuth & Permissions
  2. An App-Level Token (xapp-…) with connections:write from Basic Information → App-Level Tokens

Confirm Socket Mode is on. Use a separate Slack app for each Tarsk instance.

Step 2: Paste the tokens in Tarsk

Still in Settings → Slack:

  1. Paste both tokens.
  2. Click Save tokens.
  3. Confirm the bridge shows as running.

If it stays stopped, save again and check Settings → Logs.

Step 3: Bind a channel

In Slack, invite the bot to your channel (/invite @YourBot).

Back in Settings → Slack, pick the channel and a Tarsk project, then Bind channel. Unbound channels are ignored. DMs are not supported.

Refresh the settings page if the channel picker is empty after inviting the bot.

Step 4: Send a prompt

In the bound channel:

@Tarsk branch Summarize the last commit and suggest a test to add.

Tarsk opens a new chat on the channel’s default Tarsk branch and replies in a Slack thread under your message. On a new clone it posts Creating a new branch and repo clone… then Branch {name} · path {folder}, a working note, then the assistant’s final text. Reply in that Slack thread to continue; later top-level @Tarsk mentions open another new chat on the same channel branch.

Reply in that thread to continue. Later top-level @Tarsk mentions start a Slack thread under that mention and a new Tarsk chat on the same channel-default clone; they never create a clone. If the channel has no default yet, Tarsk tells you to run @Tarsk branch first.

For a second isolated clone, run @Tarsk branch again (optional prompt after branch).

Open Tarsk for tool output, diffs, and streaming. Slack messages show up in Tarsk as user turns labeled with your Slack name.

Useful commands

In a Tarsk Slack thread, @ the bot or reply with exactly one of:

CommandUse when you want to…
statusConfirm the bound project and bridge
stopCancel a busy turn in this thread
tasksList and act on project tasks
skillsPick a skill to prompt with
branchCreate a repo clone and Slack thread (required once per channel)
helpSee the command list again
modelsList enabled models and switch this thread’s model

If Tarsk needs approval or an open-ended answer, Slack posts a short notice with an Open in Tarsk link. Resolve it in the Tarsk UI.

Common pitfalls

Bridge not running. Keep Tarsk open. Re-save tokens if Settings shows the bridge as idle.

Bot ignores you. Invite the bot and bind the channel in Settings.

Busy thread. Wait, or reply stop inside that Slack thread.

Empty channel list. Invite the bot first, ensure the bridge is running, then reopen Settings → Slack.

Summary

Copy the app manifest from Settings → Slack, create and install the Slack app, paste the Bot and App-Level tokens, bind a channel to a project, then run @Tarsk branch and keep chatting in that thread. Keep Tarsk running. Use Slack for the conversation; use Tarsk for the full session.

Full reference: Slack settings docs.