The Deska blog

Moving from Cursor to Deska: Surviving the Loss of Ctrl+K

Learn how to adapt your workflow when moving from Cursor to Deska, shifting from a sidebar UI to an infinite canvas for AI-assisted coding.

· 12 min read

The transition of moving from cursor to deska represents a fundamental shift in how a developer interacts with artificial intelligence and their file system. While the traditional IDE experience relies heavily on a sidebar and the familiar Ctrl+K inline editing prompt, the canvas-based approach offers a different mental model for software construction. This guide explores how to navigate this change, focusing on the architectural differences between a single-file focused editor and a spatial workspace where multiple agents and terminals coexist.

Understanding the Shift from Sidebar to Canvas

Most modern AI code editors utilize a sidebar or a floating input box to facilitate interaction. This design is highly effective for quick edits within a specific file. However, it often forces the developer to toggle between different views to see the impact of those changes on the rest of the application.

Deska utilizes an infinite canvas. Instead of a single active window, you place multiple panels anywhere in the workspace. You can zoom out to see the high level structure of your project or zoom in to focus on a specific task. This spatial arrangement allows you to keep your documentation, your terminal, and your code editor visible at the same time without the constraints of a rigid grid or a narrow sidebar.

The absence of the Ctrl+K inline shortcut is perhaps the most significant change. In a canvas environment, the interaction is less about "edit this line" and more about "orchestrate this feature." You interact with agents that have their own dedicated space, providing a persistent history of the logic and commands used to build your software.

The Architecture of Spatial Development

In a traditional IDE, the context is usually limited to the files you have open in tabs. When you move to a canvas, you start thinking in terms of clusters. A cluster might include a terminal running your dev server, a browser panel showing the live preview, and a coding agent panel handling the logic implementation.

Panels and Workspace Management

The core building blocks of the workspace are panels. Each panel is an independent entity that can be moved, resized, or grouped.

  • Terminals: These are not just bottom-row tabs. You can have three terminals open side by side to monitor different microservices.
  • Code Editor: Based on Monaco, providing a familiar editing experience with full syntax highlighting.
  • Browser: An internal widget to test your UI changes without leaving the app.
  • Notes: A place to draft requirements or keep track of todo lists.

You can learn more about how to arrange these elements in the workspaces documentation. This flexibility allows you to create a visual map of your mental model, which is often difficult to achieve in a tabbed interface.

The Role of AI Agents

Instead of a single integrated AI, Deska allows you to run multiple agents as separate panels. This includes Claude Code, Codex CLI, and OpenCode. Each agent has its own strengths and can be tasked with different parts of the project simultaneously.

For example, you could have Claude Code working on a complex refactoring task in one panel while using Codex CLI to generate unit tests in another. Because these agents run within the canvas, you can see their output side by side. This is a departure from the "single stream" of conversation found in most AI editors. You can find detailed information on setting these up in the coding agents guide.

Adapting Your Workflow

Surviving the loss of a primary keyboard shortcut like Ctrl+K requires adopting a new set of habits. The focus shifts from inline prompts to "Ask Deska" and agent orchestration.

Utilizing Ask Deska

Ask Deska is a voice and chat assistant designed to drive the workspace. Rather than just writing code, it can perform environmental actions. You can ask it to open specific panels, run terminal commands, or check the status of your current sessions. This reduces the friction of manual window management.

If you are used to the speed of keyboard shortcuts, the voice integration can be a powerful alternative. It allows you to trigger actions while your hands remain on the keyboard, maintaining a flow state even as you manipulate the broader workspace.

Local-First Security and Data

One of the primary reasons developers consider this transition is the approach to data. Deska is local-first. Your code, files, and session history remain on your machine. This is a different philosophy compared to tools that rely heavily on cloud-based indexing and processing.

When you provide your own API keys in the pricing model, you maintain full control over your inference costs and data privacy. The workspace itself is free, providing a professional-grade environment for those who prefer to manage their own infrastructure.

Comparing the Experience

It is helpful to look at how specific tasks differ between the two environments. Neither approach is objectively better for every scenario, but they serve different needs.

FeatureTraditional AI EditorDeska Canvas
InterfaceSidebar and TabsInfinite Canvas
InteractionCtrl+K / InlineAgent Panels / Ask Deska
ContextFile-basedWorkspace-based
DataCloud-syncedLocal-first
ExtensionPlugin EcosystemSide-by-side Agents

The traditional model excels at rapid, single-file edits. The canvas model excels at complex, multi-component tasks where seeing the "big picture" is crucial for preventing architectural drift.

Managing the Environment from Mobile

A unique aspect of the canvas workflow is the ability to monitor it remotely. The mobile app allows you to check on long-running tasks or continue a conversation with an agent from your phone.

The connection uses a secure relay that pairs devices directly. This means you do not have to expose ports on your local machine to the public internet. It provides a level of continuity that is often missing from desktop-only IDEs, allowing you to step away from your desk without losing track of your AI agents progress.

Frequently Asked Questions

How to use Claude Code in Deska?

You can run Claude Code as a dedicated panel within the canvas. This allows you to interact with the agent while keeping your code editor and terminal visible. It operates side by side with other tools, enabling a multi-agent workflow where you can compare outputs or delegate different tasks to different models.

Is Deska really free to download?

The desktop application is a free download for Mac, Windows, and Linux. The workspace and its core features, including the infinite canvas and basic panels, do not require a subscription. Users can choose to use their own API keys for AI features or opt for a managed service if they prefer not to handle keys themselves.

How does the infinite canvas handle large projects?

The canvas is designed for spatial organization. You can group related panels together and use zoom functions to navigate between different areas of your project. This prevents the clutter that often occurs when dozens of tabs are open in a traditional editor, as you can visually separate the backend, frontend, and testing environments.

Getting Started with the Canvas

Transitioning to a new tool takes time. The best way to start is by recreating a small portion of your current project within the canvas to see how the spatial layout affects your productivity.

  1. Download the app for your operating system from the download page.
  2. Open your project folder to keep your files local.
  3. Launch a coding agent panel and a terminal side by side.
  4. Experiment with the command palette to navigate without a mouse.

As you become comfortable with the absence of a sidebar, you may find that the ability to see your entire system at once provides a clearer perspective on your code. The loss of Ctrl+K is not the end of productivity, but rather the beginning of a more holistic way to build software.

💡 Ideas+🐛 BugsSuggest a feature or report a bug