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.
Capabilities
Using the Terminal Tool
- Open DinoAI and describe what you’re trying to accomplish
- DinoAI suggests a terminal command based on your goal
- Review the suggested command carefully when DinoAI asks for approval. Whether it asks depends on your approval mode and your terminal command allowlist
- Approve the command execution if it looks correct
- DinoAI runs the command in your terminal and analyzes the output
- 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
In agents
In programmable, Slack, and Bolt agents,run_terminal_command runs one program per call, without a shell. It can run dbt, git, gh, glab, and az.
- Pipes, redirects, command chaining, and variable expansion aren’t supported, so an unquoted
|,&,;,<,>, or$is refused. - To pass one of those characters as text, quote the argument, for example
git log --format='%H|%ad|%s'. - Text in single quotes is passed exactly as written, including
$and backticks. Inside double quotes,$NAME,$(...), and backticks are refused. working_directorycan be relative to the repository root, an absolute path inside the repository, or the path of a repository the agent cloned.
Working with Error Messages
One of the most powerful features of the Terminal Tool is its ability to understand and resolve errors:- When a command fails, DinoAI analyzes the error output
- DinoAI suggests fixes based on the specific error message
- 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
Best Practices
- Be specific about your goals - Tell DinoAI what you’re trying to accomplish, not just what command you want to run
- Review before executing - Always check suggested commands before approving them
- Use for workflows - The Terminal Tool is most powerful when automating multi-step workflows
- Leverage for debugging - Let DinoAI help identify issues in command outputs and suggest fixes