---
name: workspace-commands
description: Use when running commands in this workspace - which commands exist, what they can do, and what the interpreter supports.
---
# Available commands
Python (`python` or `python3`), Perl, JavaScript/Node.js, and TypeScript
runtimes are unavailable. Use the shell commands and task CLIs documented
below; do not probe for or attempt to install other runtimes.
Standard Unix commands, among them:
cat head tail ls find grep wc sort uniq cut tr sed awk
diff tee xargs jq
with pipes, `>` redirection and `$(...)` substitution.
Do not probe the machine with `which`, `type`, `--version`, `env`, `ps`,
`echo $PATH`, `ls /usr/bin` or `cat /usr/bin/<command>`: they tell you
nothing about the task.
A filename with a space in it needs quoting, as it would in any shell.
You can also use `gh` for GitHub and `git`.
## slack
Use `slack <command> '<JSON arguments>'`. Run `slack <command> --help` to
get more information.
```sh
slack conversations-history '{"channel_id":"CHANNEL_ID","limit":"1d"}'
```
| Command | Arguments | Description |
|---|---|---|
| `slack conversations-add-message` | `{channel_id: str, content_type?: str = "text/markdown", payload?: str, thread_ts?: str}` | Add a message to a public channel, private channel, or direct message (DM, or IM) conversation by channel_id and thread_ts. |
| `slack conversations-history` | `{channel_id: str, cursor?: str, include_activity_messages?: bool = false, limit?: str = "1d"}` | Get messages from the channel (or DM) by channel_id, the last row/column in the response is used as 'cursor' parameter for pagination if not empty |
## airtable
Use `airtable <command> '<JSON arguments>'`. Run `airtable <command> --help`
to get more information.
```sh
airtable list-bases '{}'
airtable list-tables '{"base_id":"BASE_ID"}'
airtable list-records '{"base_id":"BASE_ID","table_name":"TABLE","max_records":10}'
airtable search-records '{"base_id":"BASE_ID","table_name":"TABLE","field_name":"FIELD","value":"VALUE"}'
```
| Command | Arguments | Description |
|---|---|---|
| `airtable list-bases` | `{}` | List all accessible Airtable bases |
| `airtable list-tables` | `{base_id: str}` | List all tables in a base |
| `airtable list-records` | `{base_id: str, table_name: str, max_records?: number}` | List records in a table |
| `airtable search-records` | `{base_id: str, table_name: str, field_name: str, value: str}` | Search for records in a table |
## exa
Use `exa <command> '<JSON arguments>'`. Run `exa <command> --help` to get
more information.
```sh
exa web-search-exa '{"query":"QUERY","numResults":5}'
```
| Command | Arguments | Description |
|---|---|---|
| `exa web-search-exa` | `{query: str, numResults?: number}` | Search the web for any topic and get clean, ready-to-use content. |
## calculator
Use `calculator <command> '<JSON arguments>'`. Run
`calculator <command> --help` to get more information.
```sh
calculator calculate '{"expression":"2 * (3 + 4)"}'
```
| Command | Arguments | Description |
|---|---|---|
| `calculator calculate` | `{expression: str}` | Calculates/evaluates the given expression. |
## arxiv
Use `arxiv <command> '<JSON arguments>'`. Run `arxiv <command> --help` to
get more information.
```sh
arxiv search-papers '{"query":"QUERY","max_results":5}'
```
| Command | Arguments | Description |
|---|---|---|
| `arxiv search-papers` | `{query: str, max_results?: int, date_from?: str, date_to?: str, categories?: list[str]}` | Search for papers on arXiv with advanced filtering |
## pubmed
Use `pubmed <command> '<JSON arguments>'`. Run `pubmed <command> --help` to
get more information.
```sh
pubmed search-pubmed-advanced '{"term":"QUERY","num_results":5}'
```
| Command | Arguments | Description |
|---|---|---|
| `pubmed search-pubmed-advanced` | `{term?: str = null, title?: str = null, author?: str = null, journal?: str = null, start_date?: str = null, end_date?: str = null, num_results?: int = 10}` | |
## weather-data
Use `weather-data <command> '<JSON arguments>'`. Run
`weather-data <command> --help` to get more information.
```sh
weather-data weather-history '{"q":"CITY","dt":"2025-06-01"}'
```
| Command | Arguments | Description |
|---|---|---|
| `weather-data weather-history` | `{q: str, dt: str}` | Get historical weather for a location on a given date (YYYY-MM-DD). Args: q (str): Location query. dt (str): Date in YYYY-MM-DD format. Returns: dict: WeatherAPI history JSON. |
## national-parks
Use `national-parks <command> '<JSON arguments>'`. Run
`national-parks <command> --help` to get more information.
```sh
national-parks getParkDetails '{"parkCode":"PARK_CODE"}'
```
| Command | Arguments | Description |
|---|---|---|
| `national-parks getParkDetails` | `{parkCode: str}` | Get detailed information about a specific national park |
## met-museum
Use `met-museum <command> '<JSON arguments>'`. Run
`met-museum <command> --help` to get more information.
```sh
met-museum list-departments '{}'
met-museum search-museum-objects '{"q":"QUERY","hasImages":true}'
```
| Command | Arguments | Description |
|---|---|---|
| `met-museum list-departments` | `{}` | List all departments in the Metropolitan Museum of Art (Met Museum) |
| `met-museum search-museum-objects` | `{q: str, hasImages?: bool = false, title?: bool = false, departmentId?: number}` | Search for objects in the Metropolitan Museum of Art (Met Museum). Will return Total objects found, followed by a list of Object Ids.The parameter title should be set to true if you want to search for objects by title.The parameter hasImages is false by default, but can be set to true to return objects without images.If the parameter hasImages is true, the parameter title should be false. |
| name | workspace-commands |
|---|
| description | Use when running commands in this workspace - which commands exist, what they can do, and what the interpreter supports. |
|---|
Available commands
Python (python or python3), Perl, JavaScript/Node.js, and TypeScript runtimes are unavailable. Use the shell commands and task CLIs documented below; do not probe for or attempt to install other runtimes.
Standard Unix commands, among them:
cat head tail ls find grep wc sort uniq cut tr sed awk
diff tee xargs jq
with pipes, > redirection and $(...) substitution.
Do not probe the machine with which, type, --version, env, ps, echo $PATH, ls /usr/bin or cat /usr/bin/<command>: they tell you nothing about the task.
A filename with a space in it needs quoting, as it would in any shell.
You can also use gh for GitHub and git.
slack
Use slack <command> '<JSON arguments>'. Run slack <command> --help to get more information.
slack conversations-history '{"channel_id":"CHANNEL_ID","limit":"1d"}'
| Command | Arguments | Description |
|---|
slack conversations-add-message | {channel_id: str, content_type?: str = "text/markdown", payload?: str, thread_ts?: str} | Add a message to a public channel, private channel, or direct message (DM, or IM) conversation by channel_id and thread_ts. |
slack conversations-history | {channel_id: str, cursor?: str, include_activity_messages?: bool = false, limit?: str = "1d"} | Get messages from the channel (or DM) by channel_id, the last row/column in the response is used as 'cursor' parameter for pagination if not empty |
airtable
Use airtable <command> '<JSON arguments>'. Run airtable <command> --help to get more information.
airtable list-bases '{}'
airtable list-tables '{"base_id":"BASE_ID"}'
airtable list-records '{"base_id":"BASE_ID","table_name":"TABLE","max_records":10}'
airtable search-records '{"base_id":"BASE_ID","table_name":"TABLE","field_name":"FIELD","value":"VALUE"}'
| Command | Arguments | Description |
|---|
airtable list-bases | {} | List all accessible Airtable bases |
airtable list-tables | {base_id: str} | List all tables in a base |
airtable list-records | {base_id: str, table_name: str, max_records?: number} | List records in a table |
airtable search-records | {base_id: str, table_name: str, field_name: str, value: str} | Search for records in a table |
exa
Use exa <command> '<JSON arguments>'. Run exa <command> --help to get more information.
exa web-search-exa '{"query":"QUERY","numResults":5}'
| Command | Arguments | Description |
|---|
exa web-search-exa | {query: str, numResults?: number} | Search the web for any topic and get clean, ready-to-use content. |
calculator
Use calculator <command> '<JSON arguments>'. Run calculator <command> --help to get more information.
calculator calculate '{"expression":"2 * (3 + 4)"}'
| Command | Arguments | Description |
|---|
calculator calculate | {expression: str} | Calculates/evaluates the given expression. |
arxiv
Use arxiv <command> '<JSON arguments>'. Run arxiv <command> --help to get more information.
arxiv search-papers '{"query":"QUERY","max_results":5}'
| Command | Arguments | Description |
|---|
arxiv search-papers | {query: str, max_results?: int, date_from?: str, date_to?: str, categories?: list[str]} | Search for papers on arXiv with advanced filtering |
pubmed
Use pubmed <command> '<JSON arguments>'. Run pubmed <command> --help to get more information.
pubmed search-pubmed-advanced '{"term":"QUERY","num_results":5}'
| Command | Arguments | Description |
|---|
pubmed search-pubmed-advanced | {term?: str = null, title?: str = null, author?: str = null, journal?: str = null, start_date?: str = null, end_date?: str = null, num_results?: int = 10} | |
weather-data
Use weather-data <command> '<JSON arguments>'. Run weather-data <command> --help to get more information.
weather-data weather-history '{"q":"CITY","dt":"2025-06-01"}'
| Command | Arguments | Description |
|---|
weather-data weather-history | {q: str, dt: str} | Get historical weather for a location on a given date (YYYY-MM-DD). Args: q (str): Location query. dt (str): Date in YYYY-MM-DD format. Returns: dict: WeatherAPI history JSON. |
national-parks
Use national-parks <command> '<JSON arguments>'. Run national-parks <command> --help to get more information.
national-parks getParkDetails '{"parkCode":"PARK_CODE"}'
| Command | Arguments | Description |
|---|
national-parks getParkDetails | {parkCode: str} | Get detailed information about a specific national park |
met-museum
Use met-museum <command> '<JSON arguments>'. Run met-museum <command> --help to get more information.
met-museum list-departments '{}'
met-museum search-museum-objects '{"q":"QUERY","hasImages":true}'
| Command | Arguments | Description |
|---|
met-museum list-departments | {} | List all departments in the Metropolitan Museum of Art (Met Museum) |
met-museum search-museum-objects | {q: str, hasImages?: bool = false, title?: bool = false, departmentId?: number} | Search for objects in the Metropolitan Museum of Art (Met Museum). Will return Total objects found, followed by a list of Object Ids.The parameter title should be set to true if you want to search for objects by title.The parameter hasImages is false by default, but can be set to true to return objects without images.If the parameter hasImages is true, the parameter title should be false. |