> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Terminal Tool

> The Terminal Tool enables DinoAI to suggest and execute terminal commands for Git operations, dbt runs, and other command-line tasks with error analysis.

export const ToolIds = ({ids = []}) => <div style={{
  margin: '1.25rem 0'
}}>
    <p style={{
  fontSize: '13px',
  fontWeight: 600,
  color: '#6B7280',
  margin: '0 0 8px'
}}>
      Allow-list ids — use in a Programmable Agent's <code>tools.list</code>:
    </p>
    <div style={{
  display: 'flex',
  flexWrap: 'wrap',
  gap: '6px'
}}>
      {ids.map(id => <code key={id} style={{
  fontSize: '12.5px',
  padding: '2px 8px',
  borderRadius: '6px',
  background: 'rgba(114,106,227,0.08)',
  border: '1px solid rgba(114,106,227,0.2)',
  color: '#5943D6'
}}>
          {id}
        </code>)}
    </div>
  </div>;

export const ToolMeta = ({copilot = false, agent = false, backedBy, name, href}) => {
  const pill = on => ({
    display: 'inline-flex',
    alignItems: 'center',
    gap: '5px',
    padding: '2px 10px',
    borderRadius: '9999px',
    fontSize: '13px',
    fontWeight: 500,
    border: '1px solid',
    borderColor: on ? 'rgba(114,106,227,0.35)' : 'rgba(128,128,140,0.22)',
    background: on ? 'rgba(114,106,227,0.12)' : 'transparent',
    color: on ? '#5943D6' : '#9AA0AA'
  });
  return <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    alignItems: 'center',
    gap: '8px',
    margin: '0 0 1.5rem'
  }}>
      <span style={{
    fontSize: '13px',
    fontWeight: 600,
    color: '#6B7280'
  }}>Available in</span>
      <span style={pill(copilot)}>{copilot ? '✓' : '—'} Copilot</span>
      <span style={pill(agent)}>{agent ? '✓' : '—'} Agent</span>
      {backedBy === 'native' && <span style={{
    fontSize: '13px',
    color: '#9AA0AA'
  }}>· Built-in</span>}
      {(backedBy === 'integration' || backedBy === 'connection') && name && <span style={{
    fontSize: '13px',
    color: '#6B7280'
  }}>
          · Backed by {href ? <a href={href}>{name}</a> : name} {backedBy}
        </span>}
    </div>;
};

<ToolMeta copilot agent backedBy="native" />

<ToolIds ids={["run_terminal_command"]} />

The Terminal Tool enables DinoAI to suggest and execute terminal commands, helping you with Git operations, dbt runs, and other command-line tasks directly from your DinoAI interface.

<Info>
  With the Terminal Tool, DinoAI can help you navigate Git workflows, execute dbt commands, and troubleshoot issues by analyzing command outputs - all without leaving your development environment.
</Info>

### Capabilities

| Capability           | What It Does                                              |
| -------------------- | --------------------------------------------------------- |
| Execute Git Commands | Create branches, commit changes, and manage Git workflows |
| Run dbt Operations   | Execute dbt commands to build, test, and verify models    |
| Debug Errors         | Analyze command outputs to identify and fix issues        |

### Using the Terminal Tool

1. **Open DinoAI** and describe what you're trying to accomplish
2. **DinoAI suggests a terminal command** based on your goal
3. **Review the suggested command** carefully
4. **Approve the command execution** if it looks correct
5. **DinoAI runs the command** in your terminal and analyzes the output
6. **If errors occur**, DinoAI suggests fixes based on the error messages

***

### Example Use Cases

#### Summarizing Documentation

* **Prompt**: *`"I need to create a branch to fix the issue described in JIRA-123"`*
* **Result**: `DinoAI suggests and runs the Git command to create a properly named branch (e.g., git checkout -b fix/JIRA-123-description)`

#### Extracting Information

* **Prompt**: *`"Can you fix the failing model in our production pipeline?"`*
* **Result**: `DinoAI identifies the failing model, suggests edits, runs 'dbt run' to test the fix, and helps resolve any compilation or runtime errors`

#### Extracting Information

* **Prompt**: *`"I've fixed the issue, can you commit and push my changes?"`*
* **Result**: `DinoAI creates a descriptive commit message, commits the changes, and pushes to the remote repository`

<Warning>
  Always review suggested commands before execution. While DinoAI is designed to be helpful, you should verify that the commands won't have unintended consequences.
</Warning>

***

### Working with Error Messages

One of the most powerful features of the Terminal Tool is its ability to understand and resolve errors:

1. **When a command fails**, DinoAI analyzes the error output
2. **DinoAI suggests fixes** based on the specific error message
3. **After applying fixes**, DinoAI can re-run the command to verify the solution

***

### Integration with Other Tools

The Terminal Tool works seamlessly with other DinoAI tools:

* **Jira Tool**: Execute workflows based on Jira ticket requirements
* **File System Tool**: Make changes to files and then commit them with proper Git commands
* **Warehouse Tool**: Run dbt commands to test models created based on warehouse metadata

***

<Info>
  **Best Practices**

  1. **Be specific about your goals** - Tell DinoAI what you're trying to accomplish, not just what command you want to run
  2. **Review before executing** - Always check suggested commands before approving them
  3. **Use for workflows** - The Terminal Tool is most powerful when automating multi-step workflows
  4. **Leverage for debugging** - Let DinoAI help identify issues in command outputs and suggest fixes
</Info>


## Related topics

- [Tools Reference](/products/dino-ai/programmable-agents/tools-reference.md)
- [DinoAI Tools](/products/dino-ai/tools-and-features/index.md)
- [Notion Tool](/products/dino-ai/tools-and-features/notion-tool.md)
- [Linear Tool](/products/dino-ai/tools-and-features/linear-tool.md)
- [Confluence Tool](/products/dino-ai/tools-and-features/confluence-tool.md)
