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

# Readonly Mode, Enhanced Anthropic Support, Data App Editing, and App Result Caching

> Server-level file protection, improved Claude compatibility, and enhanced data app management

<Icon icon="calendar" iconType="regular" size={16} /> **February 26, 2026**

### New Features

#### Readonly Mode

Server-level file protection for collaborative environments:

* **API Enforcement** - New `--readonly` flag prevents file modifications via API, rejecting create, modify, rename, and delete operations with 405 METHOD\_NOT\_ALLOWED
* **UI Integration** - Readonly status propagated through authentication API and reflected in web application, automatically disabling editing features
* **Use Case** - Designed for running server alongside external IDEs that manage files directly, preventing conflicts

Enable with:

```bash theme={null}
oxy serve --readonly
```

#### Enhanced Anthropic (Claude) Support

Improved compatibility with Claude models:

* **Prompt Construction** - All prompts to Claude LLMs now correctly end with user messages instead of assistant messages as required by Claude API
* **Consistent Message Handling** - Updated FSM logic across control transitions, data app triggers, query execution, and state management
* **Schema Flexibility** - Relaxed OpenAPI schema strictness for transitions and queries to improve compatibility
* **Documentation Updates** - Comprehensive `CLAUDE.md` with project overview, technical stack, build guidelines, and development best practices

#### Data App Editing

Full edit and read support for data apps:

* **Edit App Schema** - Comprehensive JSON schema for validating and processing data app edits
* **Read App Schema** - Support for reading existing data app configurations
* **File Path Propagation** - `data_app_file_path` threaded through agent execution context across all entry points (CLI, A2A, MCP, Slack, preview)
* **Context-Aware Editing** - Tools can access relevant file paths during execution for intelligent modifications
* **Tool Integration** - `EditDataApp` and `ReadDataApp` tool types fully integrated with OpenAI function calling

#### App Result Caching

Performance optimization for app execution:

* **Default Caching** - App result API endpoint now persists combined task and display results to project state directory
* **Automatic Reuse** - Cached results served by default for faster response times
* **Opt-Out Refresh** - `refresh` query parameter forces re-execution when needed
* **State Management** - Cache files stored under config-managed state directory with load/save helpers

***

### Platform Improvements

#### API Consistency

* **Plural Naming Convention** - Fixed `/app` → `/apps` route to match naming used by all other resources (`/workflows`, `/agents`, `/threads`, `/databases`, `/secrets`)
* **OpenAPI Annotations** - Corrected inconsistent annotations for `GET /apps` endpoint that caused Swagger "Try it" to return SPA HTML instead of JSON

#### Terminology Updates

* **Developer Portal** - Renamed "Dev Mode" to "Developer Portal" for clarity
* **Oxygen** - Renamed "Local Development Project" to "Oxygen" for consistency

#### Dependencies Update

* **Latest Versions** - Updated Rust and all dependencies to latest versions for improved performance and security
