Skip to main content
Import any tool set and spread it into your agent’s tools object.

gitHubTools

gitHubTools is imported from @guildai-services/guildai~github, not from @guildai/agents-sdk.
GitHub API access:
  • Issues, pull requests, and comments
  • Commits, branches, and releases
  • Repository management
  • GitHub Actions and workflows
  • Code search
All tools authenticate automatically through the workspace’s GitHub integration.
import { gitHubTools } from "@guildai-services/guildai~github"

export default agent({
  // ...
  tools: { ...gitHubTools },
})
When included, task.tools.github_* methods become available in your run function.

userInterfaceTools

Tools for interacting with users:
  • ui_prompt — Ask the user a question and block until they respond
  • ui_notify — Send a progress update or notification
  • ui_ping — Test connectivity with the UI
import { userInterfaceTools } from "@guildai/agents-sdk"
When included, task.ui becomes available for sending notifications and progress logs.
llmAgent automatically includes userInterfaceTools — you don’t need to add them manually. Include them explicitly only in coded agents that need user interaction.

guildTools

Platform integration tools:
  • guild_search_agent — Discover available agents by keyword
  • guild_agent_install_request — Request that an agent be installed in the workspace
  • guild_credentials_request — Request third-party service credentials from the user
import { guildTools } from "@guildai/agents-sdk"
Include guildTools when your agent uses tools that require user authorization. When included, task.guild becomes available in your run function.

environmentTools

Docker container management:
  • env_create — Create a new Docker environment
  • env_exec — Execute a command in the environment
  • env_destroy — Clean up the environment
  • env_list — List active environments
  • env_get_guild_npm_url — Get the NPM registry URL for @guildai packages
import { environmentTools } from "@guildai/agents-sdk"
In coded agents, use task.env directly instead of environmentTools. It’s the same functionality with a typed, awaitable API — no tool-call overhead.

consoleTools

Debug and diagnostic logging:
  • console_log — Log a message for debugging
import { consoleTools } from "@guildai/agents-sdk"
task.console is always available regardless of whether consoleTools is included. Include consoleTools in llmAgent definitions to give the LLM access to debug logging.

Service integrations

Third-party service tools are imported from their own packages. The runtime provides these — don’t add them to package.json.
ServiceImport
GitHubimport { gitHubTools } from "@guildai-services/guildai~github"
Slackimport { slackTools } from "@guildai-services/guildai~slack"
Jiraimport { jiraTools } from "@guildai-services/guildai~jira"
Bitbucketimport { bitbucketTools } from "@guildai-services/guildai~bitbucket"
Azure DevOpsimport { azureDevOpsTools } from "@guildai-services/guildai~azure-devops"
Confluenceimport { confluenceTools } from "@guildai-services/guildai~confluence"
Figmaimport { figmaTools } from "@guildai-services/guildai~figma"
Cypressimport { cypressTools } from "@guildai-services/guildai~cypress"
New Relicimport { newrelicTools } from "@guildai-services/guildai~newrelic"
TestRailimport { testrailTools } from "@guildai-services/guildai~testrail"
When a user first triggers a service tool, Guild prompts them to connect their account via OAuth. Credentials are configured at the organization level in Settings > Credentials at app.guild.ai.

Selecting specific tools

Use pick to cherry-pick tools from a set:
import { pick, userInterfaceTools } from "@guildai/agents-sdk"
import { gitHubTools } from "@guildai-services/guildai~github"

const tools = {
  ...userInterfaceTools,
  ...pick(gitHubTools, [
    "github_repos_get",
    "github_pulls_list",
    "github_issues_create_comment",
  ]),
}
Keeping the tool list small reduces the chance of an LLM calling unintended tools.