LogoCua Documentation

Commands

Computer commands and interface methods

This page describes the set of supported commands you can use to control a Cua Computer directly via the Python SDK.

These commands map to the same actions available in the Computer Server API Commands Reference, and provide low-level, async access to system operations from your agent or automation code.

Shell Actions

Execute shell commands and get detailed results:

computer.interface.run_command(cmd) # result.stdout, result.stderr,
result.returncode ```
</Tab>
<Tab value="TypeScript">
```typescript // Run shell command const result = await
computer.interface.runCommand(cmd); // result.stdout, result.stderr,
result.returncode ```
</Tab>
</Tabs>

## Mouse Actions

Precise mouse control and interaction:

<Tabs items={['Python', 'TypeScript']}>
<Tab value="Python">
```python
# Basic clicks
await computer.interface.left_click(x, y)       # Left click at coordinates
await computer.interface.right_click(x, y)      # Right click at coordinates
await computer.interface.double_click(x, y)     # Double click at coordinates

# Cursor movement and dragging
await computer.interface.move_cursor(x, y)      # Move cursor to coordinates
await computer.interface.drag_to(x, y, duration)  # Drag to coordinates
await computer.interface.get_cursor_position()  # Get current cursor position

# Advanced mouse control
await computer.interface.mouse_down(x, y, button="left")  # Press and hold a mouse button
await computer.interface.mouse_up(x, y, button="left")    # Release a mouse button
// Basic clicks
await computer.interface.leftClick(x, y);       // Left click at coordinates
await computer.interface.rightClick(x, y);      // Right click at coordinates
await computer.interface.doubleClick(x, y);     // Double click at coordinates

// Cursor movement and dragging
await computer.interface.moveCursor(x, y);      // Move cursor to coordinates
await computer.interface.dragTo(x, y, duration);  // Drag to coordinates
await computer.interface.getCursorPosition();  // Get current cursor position

// Advanced mouse control
await computer.interface.mouseDown(x, y, "left");  // Press and hold a mouse button
await computer.interface.mouseUp(x, y, "left");    // Release a mouse button

Keyboard Actions

Text input and key combinations:

# Text input
await computer.interface.type_text("Hello")     # Type text
await computer.interface.press_key("enter")     # Press a single key

# Key combinations and advanced control
await computer.interface.hotkey("command", "c") # Press key combination
await computer.interface.key_down("command")    # Press and hold a key
await computer.interface.key_up("command")      # Release a key
// Text input
await computer.interface.typeText("Hello");     // Type text
await computer.interface.pressKey("enter");     // Press a single key

// Key combinations and advanced control
await computer.interface.hotkey("command", "c"); // Press key combination
await computer.interface.keyDown("command");    // Press and hold a key
await computer.interface.keyUp("command");      // Release a key

Scrolling Actions

Mouse wheel and scrolling control:

# Scrolling
await computer.interface.scroll(x, y) # Scroll the mouse wheel
await computer.interface.scroll_down(clicks) # Scroll down await
computer.interface.scroll_up(clicks) # Scroll up
// Scrolling 
await computer.interface.scroll(x, y); // Scroll the mouse wheel 
await computer.interface.scrollDown(clicks); // Scroll down
await computer.interface.scrollUp(clicks); // Scroll up 

Screen Actions

Screen capture and display information:

# Screen operations 
await computer.interface.screenshot() # Take a screenshot 
await computer.interface.get_screen_size() # Get screen dimensions
// Screen operations 
await computer.interface.screenshot(); // Take a screenshot 
await computer.interface.getScreenSize(); // Get screen dimensions 

Clipboard Actions

System clipboard management:

# Clipboard operations await
computer.interface.set_clipboard(text) # Set clipboard content await
computer.interface.copy_to_clipboard() # Get clipboard content
// Clipboard operations 
await computer.interface.setClipboard(text); // Set clipboard content
await computer.interface.copyToClipboard(); // Get clipboard content

File System Operations

Direct file and directory manipulation:

# File existence checks
await computer.interface.file_exists(path)      # Check if file exists
await computer.interface.directory_exists(path) # Check if directory exists

# File content operations
await computer.interface.read_text(path, encoding="utf-8")        # Read file content
await computer.interface.write_text(path, content, encoding="utf-8") # Write file content
await computer.interface.read_bytes(path)       # Read file content as bytes
await computer.interface.write_bytes(path, content) # Write file content as bytes

# File and directory management
await computer.interface.delete_file(path)      # Delete file
await computer.interface.create_dir(path)       # Create directory
await computer.interface.delete_dir(path)       # Delete directory
await computer.interface.list_dir(path)         # List directory contents
// File existence checks
await computer.interface.fileExists(path);      // Check if file exists
await computer.interface.directoryExists(path); // Check if directory exists

// File content operations
await computer.interface.readText(path, "utf-8");        // Read file content
await computer.interface.writeText(path, content, "utf-8"); // Write file content
await computer.interface.readBytes(path);       // Read file content as bytes
await computer.interface.writeBytes(path, content); // Write file content as bytes

// File and directory management
await computer.interface.deleteFile(path);      // Delete file
await computer.interface.createDir(path);       // Create directory
await computer.interface.deleteDir(path);       // Delete directory
await computer.interface.listDir(path);         // List directory contents

Accessibility

Access system accessibility information:

# Get accessibility tree 
await computer.interface.get_accessibility_tree()
// Get accessibility tree 
await computer.interface.getAccessibilityTree();