Skip to content
harbor
How it worksAgentsReviewMeasureDocsPricing
Get started →
How it worksAgentsReviewMeasureDocsPricingGet started →
Home/Blog

Blog

  • Claude Code and AGENTS.md
  • Claude Code skills
  • Claude Code hooks
  • claude-mem
  • Claude Code best practices
  • Karpathy CLAUDE.md
  • AGENTS.md vs CLAUDE.md
  • Cursor rules
  • copilot-instructions.md
  • Why Claude ignores it
  • CLAUDE.md length
  • Committing CLAUDE.md
  • Agent memory compared
  • CLAUDE.md vs skills vs hooks
  • Same mistake again
  • Review comments to rules
  • Slack decisions
  • Company brain
  • Context engineering, Claude 5
  • Context rot, stale rules
  • AGENTS.md research
  • ADRs for agents
  • Memory poisoning
  • MCP memory servers
  • Claude Code, Cursor, Codex
  • Growing CLAUDE.md
  • Served vs cited

Blog

How to get Slack decisions into AI coding agents

Published: September 23, 2026

By default, they do not get there. A decision made in a Slack thread reaches a coding agent only if someone pastes it, copies it into AGENTS.md or CLAUDE.md, or the agent searches Slack at the right moment. Each covers one session or one person. For a team, the decision has to be captured once, approved, and served to every agent when the task touches it.

Why doesn't my coding agent know what we decided in Slack?

Here is the decision this note follows. In #eng-payments, after an incident, the team settles on a rule for provider webhooks:

Retry on 5xx and timeouts only. Never on 4xx.
Max 3 attempts, exponential backoff.
Same idempotency key on every attempt.

It took forty messages to get there. A proposal, an objection about 4xx, a link to the incident, a reversal, a thumbs up from the lead. Two weeks later an engineer asks Claude Code to add a new webhook consumer. The agent has never seen the thread. Claude Code's docs are clear that each session begins with a fresh context window, and its auto memory is machine-local, so even a teammate's session that did learn the rule does not help. The agent writes a retry loop that retries every non-2xx.

Nothing is broken here. The decision simply never left the place it was made.

Can I just paste the Slack thread into the prompt?

You can, and for a one-off it is the right move. Paste the conclusion, not the thread; forty messages of debate give the agent the rejected options too.

The limits are obvious once you do it twice. It works for the person who remembers the thread. It lasts one session. Cursor in the next window and Codex on the PR did not see it. Copying the rule into AGENTS.md fixes the session problem and creates a file problem: someone has to notice the decision, write it down, and remove it when the team reverses it. The file only grows (see why a growing CLAUDE.md stops working).

Does Claude in Slack remember decisions from Slack threads?

Claude Code in Slack reads context, it does not keep it. Per Anthropic's docs (checked 2026-09-23): when you mention @Claude in a thread, it gathers context from all messages in that thread; mentioned in a channel, it looks at recent channel messages. A coding request starts a Claude Code cloud session under your own account, against a GitHub repository you connected. For Team and Enterprise workspaces, Anthropic is retiring this version in favour of Claude Tag; on Pro and Max it remains the setup path.

That is useful when the decision is in the thread you are standing in. The webhook rule is in a thread from two weeks ago, in a channel the engineer asking may not read, and the agent that needs it is in a terminal, not in Slack.

Can an AI coding agent search Slack with MCP?

Yes. Slack runs an official MCP server at https://mcp.slack.com/mcp, with OAuth, and its developer docs list Claude.ai, Claude Code, Perplexity and Cursor as supported clients. It can search messages and files across public and private channels the user can see. Slack also publishes a plugin for Claude Code, Cursor and Codex:

# Claude Code
/plugin install slack@claude-plugins-official

# Codex
codex plugin marketplace add slackapi/slack-skills-plugin
codex plugin add slack@slack

This is real access, with three limits for this job:

  • The agent has to ask. Nothing prompts it to search Slack before writing a retry loop. It searches when it suspects there is something to find, which is exactly when it needs it least.
  • Search returns messages, not decisions. The top hit may be the proposal that was later reversed. The agent has to reread the whole debate, every session, and may settle it differently than the team did.
  • Nobody approved it. Whatever the agent concludes from the thread goes straight into code. No person looked at the reading before it shipped.

Which Slack messages should become agent rules?

Most of Slack should never reach an agent. Before a message becomes a rule, it should pass four checks:

  • It is settled. Someone who owns the area agreed, and nobody reopened it. A proposal with three thumbs up is still a proposal.
  • It is durable. “Skip the flaky test until Friday” is true for four days. Serving it for a year is worse than never serving it.
  • It is about the code. The retry rule changes what the agent writes. A note about who is on call does not.
  • It came from a channel you chose. Opt in by channel. Anthropic's Slack docs warn that Claude may follow directions from other messages in the conversation; a channel anyone can post in is a channel anyone can write instructions in.

The first two checks are judgment calls, which is why capture needs a review step. A model can propose the rule. A person, or a policy the team wrote, decides whether it ships.

Slack to agent: the options compared

OptionEvery agent gets itSurvives the sessionA person approved itArrives without asking
Paste into the promptNoNoYes, youYes
Copy into AGENTS.mdAgents that read the fileYesYes, via the PRYes, every turn, relevant or not
Claude Code in SlackNo, Claude onlySession history onlyNoOnly from the current thread
Slack MCP searchClients you connectNo, re-read each timeNoNo, the agent must search
Company brainYesYesYes, per policyYes, only when it applies

The last row is the pattern the others are missing: capture once, approve once, serve to every agent at the start of the task that needs it. The general definition is in what is a company brain.

How Harbor gets the #eng-payments decision to the agent

Harbor reads Slack public channels you opt in, one channel at a time. The webhook thread produces a candidate fact: the rule, its reason, and a link to the thread. It goes to the review queue, where you set the gate (Manual, Hybrid or Auto). If it contradicts an existing fact, it is held for a person in every mode.

Once approved, it is served on turn one. The engineer who asks Claude Code, Cursor or Codex for a new webhook consumer does not mention Slack. The hooks that harbor init installed hand the agent the facts that apply to this task, and the retry rule is one of them. The rule is numbered in the session, so when the answer relies on it, that cite is counted against what was served.

People get the same graph back in Slack. /harbor answers a question with citations, visible only to the person who asked:

/harbor do we retry provider webhooks on a 400?

The answer cites the approved fact as [#1], and if it is wrong, the correction action files into the same review queue. Setup is in the quickstart and the Slack side in the Slack docs.

The same decision often shows up again in review; that path is in turning PR review comments into agent rules. For why per-agent memory does not close this gap, see Claude Code memory vs Codex, Cursor and Copilot.

Questions

Can Claude Code read Slack?

Yes, through Slack's official MCP server or Slack's plugin for Claude Code, which let it search messages the user can see. It searches only when it decides to, and it gets messages back, not the decision the thread settled on.

Does Claude in Slack remember past decisions?

No. Claude Code in Slack reads the thread or recent channel messages where it is mentioned and starts a cloud session from that. A decision made in another thread two weeks earlier is not part of that context.

How do I capture engineering decisions from Slack for AI agents?

Write the conclusion, not the thread, as one short rule with its reason and a link to the thread, and have someone approve it. Then deliver it to every agent the team uses, at the start of any task it applies to.

Is it safe to let AI agents read Slack?

Limit it to channels you choose, prefer public channels, and review what gets turned into instructions. Anthropic's own docs warn that Claude may follow directions from other messages in a Slack conversation, so use it only in trusted channels.

harbor

Decide once. Every agent knows. One company brain for all the agents your team runs, built from work you already do and kept only while it is still true.

Product

  • How it works
  • Review
  • Your agents
  • Guardrails
  • What it counts
  • Pricing

Developers

  • Docs
  • Blog
  • CLI
  • MCP server
  • Served and cited
  • Environments

Company

  • Get started
  • Contact
  • Privacy Policy
  • Terms of Service
  • Data Processing Agreement
  • Refund Policy
© 2026 harbor·Product names and logos are trademarks of their respective owners.