At some point, all system commands just started coming back from Continue.dev as basic JSON. It's not actually trying to run the command, it's just showing me it.
It otherwise seems to be behaving correctly, as is attached in the screenshot.
system
<important_rules>
You are in agent mode.
If you need to use multiple tools, you can call multiple read only tools simultaneously.
Always include the language and file name in the info string when you write code blocks.
If you are editing "src/main.py" for example, your code block should start with '```python src/main.py'
</important_rules>
user
can you read my packages/ folder
assistant
{"name": "ls", "arguments": {"dirPath": "/packages"}}
user
can you read my packages folder?
Options
{
"model": "qwen2.5-coder:32b",
"maxTokens": 4096,
"tools": [
{
"type": "function",
"displayTitle": "Read File",
"wouldLikeTo": "read {{{ filepath }}}",
"isCurrently": "reading {{{ filepath }}}",
"hasAlready": "viewed {{{ filepath }}}",
"readonly": true,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "read_file",
"description": "Use this tool if you need to view the contents of an existing file.",
"parameters": {
"type": "object",
"required": [
"filepath"
],
"properties": {
"filepath": {
"type": "string",
"description": "The path of the file to read, relative to the root of the workspace (NOT uri or absolute path)"
}
}
}
},
"systemMessageDescription": {
"prefix": "To read a file with a known filepath, use the read_file tool. For example, to read a file located at 'path/to/file.txt', you would respond with this:",
"exampleArgs": [
[
"filepath",
"path/to/the_file.txt"
]
]
},
"defaultToolPolicy": "allowedWithoutPermission"
},
{
"type": "function",
"displayTitle": "Create New File",
"wouldLikeTo": "create a new file at {{{ filepath }}}",
"isCurrently": "creating a new file at {{{ filepath }}}",
"hasAlready": "created a new file at {{{ filepath }}}",
"group": "Built-In",
"readonly": false,
"isInstant": true,
"function": {
"name": "create_new_file",
"description": "Create a new file. Only use this when a file doesn't exist and should be created",
"parameters": {
"type": "object",
"required": [
"filepath",
"contents"
],
"properties": {
"filepath": {
"type": "string",
"description": "The path where the new file should be created, relative to the root of the workspace"
},
"contents": {
"type": "string",
"description": "The contents to write to the new file"
}
}
}
},
"defaultToolPolicy": "allowedWithPermission",
"systemMessageDescription": {
"prefix": "To create a NEW file, use the create_new_file tool with the relative filepath and new contents. For example, to create a file located at 'path/to/file.txt', you would respond with:",
"exampleArgs": [
[
"filepath",
"path/to/the_file.txt"
],
[
"contents",
"Contents of the file"
]
]
}
},
{
"type": "function",
"displayTitle": "Run Terminal Command",
"wouldLikeTo": "run the following terminal command:",
"isCurrently": "running the following terminal command:",
"hasAlready": "ran the following terminal command:",
"readonly": false,
"group": "Built-In",
"function": {
"name": "run_terminal_command",
"description": "Run a terminal command in the current directory.\nThe shell is not stateful and will not remember any previous commands. When a command is run in the background ALWAYS suggest using shell commands to stop it; NEVER suggest using Ctrl+C. When suggesting subsequent shell commands ALWAYS format them in shell command blocks. Do NOT perform actions requiring special/admin privileges. Choose terminal commands and scripts optimized for win32 and x64 and shell powershell.exe.",
"parameters": {
"type": "object",
"required": [
"command"
],
"properties": {
"command": {
"type": "string",
"description": "The command to run. This will be passed directly into the IDE shell."
},
"waitForCompletion": {
"type": "boolean",
"description": "Whether to wait for the command to complete before returning. Default is true. Set to false to run the command in the background. Set to true to run the command in the foreground and wait to collect the output."
}
}
}
},
"defaultToolPolicy": "allowedWithPermission",
"systemMessageDescription": {
"prefix": "To run a terminal command, use the run_terminal_command tool\nThe shell is not stateful and will not remember any previous commands. When a command is run in the background ALWAYS suggest using shell commands to stop it; NEVER suggest using Ctrl+C. When suggesting subsequent shell commands ALWAYS format them in shell command blocks. Do NOT perform actions requiring special/admin privileges. Choose terminal commands and scripts optimized for win32 and x64 and shell powershell.exe.\nYou can also optionally include the waitForCompletion argument set to false to run the command in the background. \nFor example, to see the git log, you could respond with:",
"exampleArgs": [
[
"command",
"git log"
]
]
}
},
{
"type": "function",
"displayTitle": "Glob File Search",
"wouldLikeTo": "find file matches for \"{{{ pattern }}}\"",
"isCurrently": "finding file matches for \"{{{ pattern }}}\"",
"hasAlready": "retrieved file matches for \"{{{ pattern }}}\"",
"readonly": true,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "file_glob_search",
"description": "Search for files recursively in the project using glob patterns. Supports ** for recursive directory search. Output may be truncated; use targeted patterns",
"parameters": {
"type": "object",
"required": [
"pattern"
],
"properties": {
"pattern": {
"type": "string",
"description": "Glob pattern for file path matching"
}
}
}
},
"defaultToolPolicy": "allowedWithoutPermission",
"systemMessageDescription": {
"prefix": "To return a list of files based on a glob search pattern, use the file_glob_search tool",
"exampleArgs": [
[
"pattern",
"*.py"
]
]
}
},
{
"type": "function",
"displayTitle": "View Diff",
"wouldLikeTo": "view the git diff",
"isCurrently": "getting the git diff",
"hasAlready": "viewed the git diff",
"readonly": true,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "view_diff",
"description": "View the current diff of working changes",
"parameters": {
"type": "object",
"properties": {}
}
},
"systemMessageDescription": {
"prefix": "To view the current git diff, use the view_diff tool. This will show you the changes made in the working directory compared to the last commit."
},
"defaultToolPolicy": "allowedWithoutPermission"
},
{
"type": "function",
"displayTitle": "Read Currently Open File",
"wouldLikeTo": "read the current file",
"isCurrently": "reading the current file",
"hasAlready": "viewed the current file",
"readonly": true,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "read_currently_open_file",
"description": "Read the currently open file in the IDE. If the user seems to be referring to a file that you can't see, try using this",
"parameters": {
"type": "object",
"properties": {}
}
},
"defaultToolPolicy": "allowedWithPermission",
"systemMessageDescription": {
"prefix": "To view the user's currently open file, use the read_currently_open_file tool.\nIf the user is asking about a file and you don't see any code, use this to check the current file"
}
},
{
"type": "function",
"displayTitle": "ls",
"wouldLikeTo": "list files and folders in {{{ dirPath }}}",
"isCurrently": "listing files and folders in {{{ dirPath }}}",
"hasAlready": "listed files and folders in {{{ dirPath }}}",
"readonly": true,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "ls",
"description": "List files and folders in a given directory",
"parameters": {
"type": "object",
"properties": {
"dirPath": {
"type": "string",
"description": "The directory path relative to the root of the project. Use forward slash paths like '/'. rather than e.g. '.'"
},
"recursive": {
"type": "boolean",
"description": "If true, lists files and folders recursively. To prevent unexpected large results, use this sparingly"
}
}
}
},
"defaultToolPolicy": "allowedWithoutPermission",
"systemMessageDescription": {
"prefix": "To list files and folders in a given directory, call the ls tool with \"dirPath\" and \"recursive\". For example:",
"exampleArgs": [
[
"dirPath",
"path/to/dir"
],
[
"recursive",
"false"
]
]
}
},
{
"type": "function",
"displayTitle": "Create Rule Block",
"wouldLikeTo": "create a rule block for \"{{{ name }}}\"",
"isCurrently": "creating a rule block for \"{{{ name }}}\"",
"hasAlready": "created a rule block for \"{{{ name }}}\"",
"readonly": false,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "create_rule_block",
"description": "Creates a \"rule\" that can be referenced in future conversations. This should be used whenever you want to establish code standards / preferences that should be applied consistently, or when you want to avoid making a mistake again. To modify existing rules, use the edit tool instead.\n\nRule Types:\n- Always: Include only \"rule\" (always included in model context)\n- Auto Attached: Include \"rule\", \"globs\", and/or \"regex\" (included when files match patterns)\n- Agent Requested: Include \"rule\" and \"description\" (AI decides when to apply based on description)\n- Manual: Include only \"rule\" (only included when explicitly mentioned using @ruleName)",
"parameters": {
"type": "object",
"required": [
"name",
"rule"
],
"properties": {
"name": {
"type": "string",
"description": "Short, descriptive name summarizing the rule's purpose (e.g. 'React Standards', 'Type Hints')"
},
"rule": {
"type": "string",
"description": "Clear, imperative instruction for future code generation (e.g. 'Use named exports', 'Add Python type hints'). Each rule should focus on one specific standard."
},
"description": {
"type": "string",
"description": "Description of when this rule should be applied. Required for Agent Requested rules (AI decides when to apply). Optional for other types."
},
"globs": {
"type": "string",
"description": "Optional file patterns to which this rule applies (e.g. ['**/*.{ts,tsx}'] or ['src/**/*.ts', 'tests/**/*.ts'])"
},
"regex": {
"type": "string",
"description": "Optional regex patterns to match against file content. Rule applies only to files whose content matches the pattern (e.g. 'useEffect' for React hooks or '\\bclass\\b' for class definitions)"
},
"alwaysApply": {
"type": "boolean",
"description": "Whether this rule should always be applied. Set to false for Agent Requested and Manual rules. Omit or set to true for Always and Auto Attached rules."
}
}
}
},
"defaultToolPolicy": "allowedWithPermission",
"systemMessageDescription": {
"prefix": "Sometimes the user will provide feedback or guidance on your output. If you were not aware of these \"rules\", consider using the create_rule_block tool to persist the rule for future interactions.\nThis tool cannot be used to edit existing rules, but you can search in the \".continue/rules\" folder and use the edit tool to manage rules.\nTo create a rule, respond with a create_rule_block tool call and the following arguments:\n- name: Short, descriptive name summarizing the rule's purpose (e.g. 'React Standards', 'Type Hints')\n- rule: Clear, imperative instruction for future code generation (e.g. 'Use named exports', 'Add Python type hints'). Each rule should focus on one specific standard.\n- description: Description of when this rule should be applied. Required for Agent Requested rules (AI decides when to apply). Optional for other types.\n- globs: Optional file patterns to which this rule applies (e.g. ['**/*.{ts,tsx}'] or ['src/**/*.ts', 'tests/**/*.ts'])\n- alwaysApply: Whether this rule should always be applied. Set to false for Agent Requested and Manual rules. Omit or set to true for Always and Auto Attached rules.\nFor example:",
"exampleArgs": [
[
"name",
"Use PropTypes"
],
[
"rule",
"Always use PropTypes when declaring React component properties"
],
[
"description",
"Ensure that all prop types are explicitly declared for better type safety and code maintainability in React components."
],
[
"globs",
"**/*.js"
],
[
"alwaysApply",
"false"
]
]
}
},
{
"type": "function",
"displayTitle": "Read URL",
"wouldLikeTo": "fetch {{{ url }}}",
"isCurrently": "fetching {{{ url }}}",
"hasAlready": "viewed {{{ url }}}",
"readonly": true,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "fetch_url_content",
"description": "Can be used to view the contents of a website using a URL. Do NOT use this for files.",
"parameters": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL to read"
}
}
}
},
"defaultToolPolicy": "allowedWithPermission",
"systemMessageDescription": {
"prefix": "To fetch the content of a URL, use the fetch_url_content tool. For example, to read the contents of a webpage, you might respond with:",
"exampleArgs": [
[
"url",
"https://example.com"
]
]
}
},
{
"type": "function",
"displayTitle": "Grep Search",
"wouldLikeTo": "search for \"{{{ query }}}\" in the repository",
"isCurrently": "getting search results for \"{{{ query }}}\"",
"hasAlready": "retrieved search results for \"{{{ query }}}\"",
"readonly": true,
"isInstant": true,
"group": "Built-In",
"function": {
"name": "grep_search",
"description": "Perform a search over the repository using ripgrep. Output may be truncated, so use targeted queries",
"parameters": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "The search query to use. Must be a valid ripgrep regex expression, escaped where needed"
}
}
}
},
"defaultToolPolicy": "allowedWithoutPermission",
"systemMessageDescription": {
"prefix": "To perform a grep search within the project, call the grep_search tool with the query pattern to match. For example:",
"exampleArgs": [
[
"query",
".*main_services.*"
]
]
}
},
{
"type": "function",
"displayTitle": "Edit File",
"wouldLikeTo": "edit {{{ filepath }}}",
"isCurrently": "editing {{{ filepath }}}",
"hasAlready": "edited {{{ filepath }}}",
"group": "Built-In",
"readonly": false,
"isInstant": false,
"function": {
"name": "edit_existing_file",
"description": "Use this tool to edit an existing file. If you don't know the contents of the file, read it first.\n When addressing code modification requests, present a concise code snippet that\n emphasizes only the necessary changes and uses abbreviated placeholders for\n unmodified sections. For example:\n\n ```language /path/to/file\n // ... existing code ...\n\n {{ modified code here }}\n\n // ... existing code ...\n\n {{ another modification }}\n\n // ... rest of code ...\n ```\n\n In existing files, you should always restate the function or class that the snippet belongs to:\n\n ```language /path/to/file\n // ... existing code ...\n\n function exampleFunction() {\n // ... existing code ...\n\n {{ modified code here }}\n\n // ... rest of function ...\n }\n\n // ... rest of code ...\n ```\n\n Since users have access to their complete file, they prefer reading only the\n relevant modifications. It's perfectly acceptable to omit unmodified portions\n at the beginning, middle, or end of files using these \"lazy\" comments. Only\n provide the complete file when explicitly requested. Include a concise explanation\n of changes unless the user specifically asks for code only.\n\nNote this tool CANNOT be called in parallel.",
"parameters": {
"type": "object",
"required": [
"filepath",
"changes"
],
"properties": {
"filepath": {
"type": "string",
"description": "The path of the file to edit, relative to the root of the workspace."
},
"changes": {
"type": "string",
"description": "Any modifications to the file, showing only needed changes. Do NOT wrap this in a codeblock or write anything besides the code changes. In larger files, use brief language-appropriate placeholders for large unmodified sections, e.g. '// ... existing code ...'"
}
}
}
},
"defaultToolPolicy": "allowedWithPermission",
"systemMessageDescription": {
"prefix": "To edit an EXISTING file, use the edit_existing_file tool with\n- filepath: the relative filepath to the file.\n- changes: Any modifications to the file, showing only needed changes. Do NOT wrap this in a codeblock or write anything besides the code changes. In larger files, use brief language-appropriate placeholders for large unmodified sections, e.g. '// ... existing code ...'\nOnly use this tool if you already know the contents of the file. Otherwise, use the read_file or read_currently_open_file tool to read it first.\nFor example:",
"exampleArgs": [
[
"filepath",
"path/to/the_file.ts"
],
[
"changes",
"// ... existing code ...\nfunction subtract(a: number, b: number): number {\n return a - b;\n}\n// ... rest of code ..."
]
]
}
},
{
"type": "function",
"displayTitle": "Search Web",
"wouldLikeTo": "search the web for \"{{{ query }}}\"",
"isCurrently": "searching the web for \"{{{ query }}}\"",
"hasAlready": "searched the web for \"{{{ query }}}\"",
"readonly": true,
"group": "Built-In",
"function": {
"name": "search_web",
"description": "Performs a web search, returning top results. Use this tool sparingly - only for questions that require specialized, external, and/or up-to-date knowledege. Common programming questions do not require web search.",
"parameters": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "The natural language search query"
}
}
}
},
"defaultToolPolicy": "allowedWithoutPermission",
"systemMessageDescription": {
"prefix": "To search the web, use the search_web tool with a natural language query. For example, to search for the current weather, you would respond with:",
"exampleArgs": [
[
"query",
"What is the current weather in San Francisco?"
]
]
}
}
]
}
assistant
{"name": "read_file", "arguments": {"filepath": "packages"}}
Before submitting your bug report
Relevant environment info
Description
At some point, all system commands just started coming back from Continue.dev as basic JSON. It's not actually trying to run the command, it's just showing me it.
It otherwise seems to be behaving correctly, as is attached in the screenshot.
I've tried re-installing everything, re-installing ollama, deleting
~/.continue, and I just don't understand what I've done to cause this to happen.To reproduce
No response
Log output