Lookup: Tool Feature Parity Matrix
Purpose: Quick reference for feature support across AI coding tools
Last Updated: 2026-02-04
Feature Comparison
Core Features
| Feature |
OAC |
Claude Code |
Cursor IDE |
Windsurf |
Notes |
| Multiple agents |
✅ Yes |
✅ Yes |
❌ Single only |
✅ Yes |
Cursor requires merged config |
| Agent modes |
✅ primary/subagent |
✅ Yes |
❌ No |
⚠️ Partial |
OAC has explicit mode field |
| Temperature control |
✅ 0.0-2.0 |
❌ No |
⚠️ Limited |
⚠️ Limited |
Maps to creativity settings |
| Model selection |
✅ Full control |
✅ Yes |
✅ Yes |
✅ Yes |
Different ID formats |
| Context files |
✅ .opencode/context/ |
✅ Skills system |
✅ .cursorrules |
✅ Yes |
Path mapping required |
Tool Permissions
| Tool Access |
OAC |
Claude Code |
Cursor IDE |
Windsurf |
| read |
✅ Granular |
⚠️ Binary on/off |
⚠️ Binary |
⚠️ Binary |
| write |
✅ Granular |
⚠️ Binary |
⚠️ Binary |
⚠️ Binary |
| edit |
✅ Granular |
⚠️ Binary |
⚠️ Binary |
⚠️ Binary |
| bash |
✅ Granular |
✅ Yes |
✅ Yes |
✅ Yes |
| task |
✅ Delegation |
✅ Yes |
❌ No |
⚠️ Limited |
| grep/glob |
✅ Separate |
✅ Yes |
✅ Yes |
✅ Yes |
Legend: ✅ Full support | ⚠️ Partial/degraded | ❌ Not supported
Advanced Features
| Feature |
OAC |
Claude Code |
Cursor IDE |
Windsurf |
| Skills system |
✅ Yes |
✅ Yes |
❌ No |
⚠️ Partial |
| Hooks |
✅ 5 types |
✅ Yes |
❌ No |
❌ No |
| Dependencies |
✅ Explicit |
✅ Yes |
❌ No |
⚠️ Partial |
| Priority levels |
✅ 4 levels |
⚠️ 2 levels |
❌ No |
⚠️ 2 levels |
| Agent categories |
✅ 8 types |
⚠️ Limited |
❌ No |
⚠️ Limited |
Hook Event Support
| Event |
OAC |
Claude Code |
Cursor |
Windsurf |
| PreToolUse |
✅ |
✅ |
❌ |
❌ |
| PostToolUse |
✅ |
✅ |
❌ |
❌ |
| PermissionRequest |
✅ |
✅ |
❌ |
❌ |
| AgentStart |
✅ |
✅ |
❌ |
❌ |
| AgentEnd |
✅ |
✅ |
❌ |
❌ |
Permission Granularity Mapping
OAC → Other Tools (Degradation)
OAC Granular Permission:
{
allow: ["src/**/*.ts"],
deny: ["src/secrets/**"],
ask: ["package.json"]
}
↓ Maps to ↓
Claude: tools.write = true (with warnings in skills)
Cursor: Full write access (no granularity)
Windsurf: Basic allow/deny (ask → deny)
Model ID Mapping
| OAC Model ID |
Claude Code |
Cursor IDE |
Windsurf |
| claude-sonnet-4 |
claude-sonnet-4-20250514 |
claude-sonnet-4 |
claude-4-sonnet |
| gpt-4 |
N/A |
gpt-4 |
gpt-4 |
| gpt-4-turbo |
N/A |
gpt-4-turbo |
gpt-4-turbo |
Configuration File Paths
| Tool |
Primary Config |
Context/Skills |
Agents |
| OAC |
.opencode/agent/ |
.opencode/context/ |
.opencode/agent/*.md |
| Claude |
.claude/config.json |
.claude/skills/ |
.claude/agents/ |
| Cursor |
.cursorrules |
(inline) |
Single file only |
| Windsurf |
.windsurf/config.json |
.windsurf/context/ |
.windsurf/agents/ |
Conversion Compatibility
OAC → Claude Code
- ✅ Full feature preservation
- ⚠️ Temperature ignored (not supported)
- ✅ Hooks preserved
- ✅ Skills map 1:1
OAC → Cursor IDE
- ⚠️ Multiple agents → merged single file
- ❌ Hooks lost
- ❌ Skills → inline context
- ⚠️ Granular permissions → binary
OAC → Windsurf
- ✅ Multiple agents preserved
- ⚠️ Temperature → creativity setting
- ❌ Hooks lost
- ⚠️ Skills → partial mapping
Reverse Conversions
- Claude → OAC: ✅ High fidelity
- Cursor → OAC: ⚠️ Limited (single agent)
- Windsurf → OAC: ⚠️ Partial feature loss
Reference
- Implementation:
packages/compatibility-layer/src/mappers/
- Related:
- concepts/compatibility-layer.md
- examples/baseadapter-pattern.md
- guides/compatibility-layer-workflow.md