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

# Attributes

> Configuration options for the AutonomousAgent

## Attributes

`AutonomousAgent` inherits all attributes from `Agent` and adds the following autonomous-specific options:

### Autonomous Agent Specific Attributes

| Attribute | Type | Default | Description |
| - | - | - | - |
| `workspace` | str \| None | Current directory | Workspace directory path. All file/shell operations are sandboxed here |
| `storage` | Storage \| None | `InMemoryStorage()` | Custom storage backend. If None, InMemoryStorage is created automatically |
| `enable_filesystem` | bool | `True` | Enable filesystem tools (read, write, edit, list, search, etc.) |
| `enable_shell` | bool | `True` | Enable shell command execution tools |
| `shell_timeout` | int | `120` | Default timeout for shell commands in seconds |
| `shell_max_output` | int | `10000` | Maximum output length before truncation |
| `blocked_commands` | List\[str] \| None | Security defaults | List of command patterns to block for security |
| `full_session_memory` | bool | `True` | Enable chat history persistence (enabled by default) |
| `summary_memory` | bool | `False` | Enable session summary generation |
| `user_analysis_memory` | bool | `False` | Enable user profile extraction |
| `user_profile_schema` | BaseModel \| None | `None` | Pydantic model for user profile structure |
| `dynamic_user_profile` | bool | `False` | Generate profile schema dynamically |
| `num_last_messages` | int \| None | `None` | Limit on message turns to keep in history |
| `feed_tool_call_results` | bool \| None | `None` | Include tool call results in history |

### Inherited Agent Attributes

All standard `Agent` attributes are also available:

| Attribute | Type | Default | Description |
| - | - | - | - |
| `model` | str \| Model | `"openai/gpt-4o"` | Model identifier or Model instance |
| `name` | str \| None | `None` | Agent name for identification |
| `memory` | Memory \| None | Auto-created | Memory instance (auto-created with storage if not provided) |
| `db` | DatabaseBase \| None | `None` | Database instance (overrides memory if provided) |
| `session_id` | str \| None | Auto-generated | Session identifier for conversation tracking |
| `user_id` | str \| None | Auto-generated | User identifier for multi-user scenarios |
| `debug` | bool | `False` | Enable debug logging |
| `debug_level` | int | `1` | Debug level (1 = standard, 2 = detailed) |
| `print` | bool \| None | `None` (defaults to `True`) | Enable printing of output. If None, reads from UPSONIC\_AGENT\_PRINT env var, else defaults to True |
| `role` | str \| None | `None` | Agent role |
| `goal` | str \| None | `None` | Agent goal |
| `instructions` | str \| None | `None` | Specific instructions |
| `system_prompt` | str \| None | Auto-generated | Custom system prompt. If None, a built-in prompt with tool usage guidelines is generated |
| `tools` | List\[Any] \| None | `None` | Additional tools (merged with default filesystem/shell tools) |
| `tool_call_limit` | int | `100` | Maximum tool calls per execution |
| `show_tool_calls` | bool | `True` | Display tool calls in output |
| `context_management` | bool | `False` | Enable context management |
| `context_management_keep_recent` | int | `5` | Recent messages to keep when managing context |
| `user_policy` | Policy \| List\[Policy] \| None | `None` | User input safety policy |
| `agent_policy` | Policy \| List\[Policy] \| None | `None` | Agent output safety policy |
| `tool_policy_pre` | Policy \| List\[Policy] \| None | `None` | Tool safety policy for pre-execution |
| `tool_policy_post` | Policy \| List\[Policy] \| None | `None` | Tool safety policy for post-execution |
| `retry` | int | `1` | Number of retry attempts |
| `mode` | Literal\["raise", "return\_false"] | `"raise"` | Retry mode behavior |

## Properties

| Property | Type | Description |
| - | - | - |
| `autonomous_workspace` | Path | Resolved workspace path |
| `autonomous_storage` | Storage \| None | Storage backend created by AutonomousAgent |
| `autonomous_memory` | Memory \| None | Memory instance created by AutonomousAgent |
| `filesystem_toolkit` | AutonomousFilesystemToolKit \| None | Filesystem toolkit (if enabled) |
| `shell_toolkit` | AutonomousShellToolKit \| None | Shell toolkit (if enabled) |

## Methods

| Method | Description |
| - | - |
| `reset_filesystem_tracking()` | Clear the record of read/edited files |

## Configuration Example

```python theme={null}
from upsonic import AutonomousAgent, Task

# Full configuration example
agent = AutonomousAgent(
    # Model
    model="anthropic/claude-sonnet-4-5",
    
    # Workspace (all operations sandboxed here)
    workspace="/path/to/project",
    
    # Agent identity
    name="DevAssistant",
    role="Senior Developer",
    goal="Help developers write better code",
    instructions="Follow best practices and include error handling.",
    
    # Toolkit configuration
    enable_filesystem=True,
    enable_shell=True,
    shell_timeout=60,
    
    # Memory configuration
    full_session_memory=True,
    summary_memory=True,
    
    # Debug
    debug=True
)

# Execute a task
task = Task("Create a new Python module for data validation")
result = agent.print_do(task)
print(result)
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.