Skip to content

Prompt strings ​

The prompt template tag keeps multi-line strings aligned with the surrounding TypeScript while returning dedented text. Use it for tool descriptions, reminder prompts, channel context, and errors. Import it from the package root or the dedicated entrypoint:

ts
import { prompt } from "@grok/agent-sdk";
// or: import { prompt } from "@grok/agent-sdk/prompt";

Dedented strings ​

prompt returns one string. It removes the common leading whitespace and one newline immediately after the opening backtick.

ts
throw new Error(prompt`
  It is outside business hours (Mon-Fri 9am-5pm ET).
  Use request_author_approval, or pass approval=human_request.
`);

Blank lines inside the body are preserved. Relative indentation after the common prefix is preserved, so nested lists keep their shape.

When interpolating multi-line values (for example a list of services), give those lines the same indent as the prompt body so dedent stays consistent.

Line arrays ​

prompt.lines applies the same rules and returns string[], with one entry per line. Use it when an API accepts separate context lines:

ts
context: prompt.lines`
  Merged PR detected: ${pr.url} by ${author}.

  Call plan_deploy, then follow its nextStep.
`