Skip to content
Terrateam

Support

Terrateam runs in your pull requests, in your CI, and on your own infrastructure if you self-host. We cannot see any of it. The more of that context you send us, the faster we can reproduce the problem and fix it.

Channel Use it for Link
Community Slack Fastest response, general questions, quick debugging terrateam.io/slack
Email Private details, account and billing questions, log attachments support@terrateam.io
GitHub Issues Reproducible bugs and feature requests stategraph/stategraph/issues
Pull request comment Feedback from where the problem happened terrateam feedback <message>

Two checks solve many problems on their own:

  • Read the Terrateam comment on the pull request. Terrateam states the reason it stopped, for example an access control denial, a lock held by another pull request, or a configuration parse error.
  • Comment terrateam repo-config on the pull request. The evaluated configuration is frequently not the configuration you expect. See the Configuration Reference for the meaning of each field.
  1. Repository and pull request number

    Give the full URL, for example https://github.com/acme/infra/pull/482. If the repository is private, tell us the owner/repo name and the pull request number. We cannot look up a pull request from a screenshot.

  2. What you expected to happen

    One or two sentences. Example: “terrateam plan should run against prod/us-east-1 because that directory changed in the pull request.”

  3. What actually happened

    The Terrateam comment, copied as text, is the best evidence. Include the whole comment, not a cropped screenshot. If the comment shows a run id, keep it.

  4. The pull request patch

    The patch shows us exactly which files changed, which is what Terrateam matches against when_modified, dirs, and tag queries.

    Terminal window
    gh pr diff <PR_NUMBER> --repo <OWNER>/<REPO> --patch > pr-<PR_NUMBER>.patch

    Without the gh CLI, append .patch to the pull request URL:

    https://github.com/<OWNER>/<REPO>/pull/<PR_NUMBER>.patch
  5. The terrateam repo-config output

    Comment terrateam repo-config on the pull request. Terrateam replies with a Repository Config comment that lists the configuration sources it used and the fully evaluated YAML, after config builder, indexer, and overrides are applied.

    terrateam repo-config

    Expand the Details block and copy the whole comment. This tells us what Terrateam believes your configuration is, which is often different from what is committed in .terrateam/config.yml. See terrateam repo-config.

  6. The action logs

    The run id appears in the Terrateam failure comment and in the pull request status check link.

    Terminal window
    gh run view <RUN_ID> --repo <OWNER>/<REPO> --log > terrateam-run-<RUN_ID>.log

    In the browser, open the workflow run, then use the menu at the top right and select Download log archive. Attach the zip file.

    For a failed run only, gh run view <RUN_ID> --log-failed is smaller but drops the setup steps we often need.

  7. Server logs (Self-Hosted only)

    Terrateam Cloud users can skip this step. For Self-Hosted, include the server log for the period around the failure.

    Terminal window
    docker compose logs server > terrateam-server.log

    Also tell us the Terrateam version or image tag you run.

Remove secrets before you send

Patches, action logs, and server logs can contain cloud credentials, tokens, and internal hostnames. Read them before you attach them and replace any secret with REDACTED. Send anything sensitive by email rather than in Slack or a GitHub issue.

Copy this into your message and fill it in.

**Repository / pull request:** https://github.com/OWNER/REPO/pull/NUMBER
**Deployment:** Terrateam Cloud | Self-Hosted (version: X.Y.Z)
**Command that failed:** terrateam plan
**Expected:**
...
**Actual:**
...
**Attached:**
- [ ] pull request patch
- [ ] `terrateam repo-config` comment
- [ ] action logs
- [ ] server logs (Self-Hosted only)