---
title: "Quick Reference"
description: "Keyboard shortcuts, properties, and supported field types at a glance."
canonical_url: "https://kirby.tools/docs/copilot/advanced/reference"
---

# Quick Reference

> Keyboard shortcuts, properties, and supported field types at a glance.

<callout color="info" icon="i-ri-stack-line" to="/docs/copilot/php-classes">

Looking for the PHP API? See the **PHP Classes** section for the `Client` and provider transports.

</callout>

## AI Providers

<table>
<thead>
  <tr>
    <th>
      Provider
    </th>
    
    <th>
      Configuration Key
    </th>
    
    <th>
      Blocks/Layouts
    </th>
    
    <th>
      Images
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      Google
    </td>
    
    <td>
      <code>
        google
      </code>
    </td>
    
    <td>
      ⭐ Recommended
    </td>
    
    <td>
      ✓ Yes
    </td>
  </tr>
  
  <tr>
    <td>
      OpenAI
    </td>
    
    <td>
      <code>
        openai
      </code>
    </td>
    
    <td>
      ✓ Good
    </td>
    
    <td>
      ✓ Yes
    </td>
  </tr>
  
  <tr>
    <td>
      Anthropic
    </td>
    
    <td>
      <code>
        anthropic
      </code>
    </td>
    
    <td>
      ⚠️ Limited
    </td>
    
    <td>
      ✓ Yes
    </td>
  </tr>
  
  <tr>
    <td>
      Mistral
    </td>
    
    <td>
      <code>
        mistral
      </code>
    </td>
    
    <td>
      ⚠️ Limited
    </td>
    
    <td>
      ⚠️ Partial
    </td>
  </tr>
</tbody>
</table>

## Default AI Models

Kirby Copilot uses sensible default models for both content generation and inline suggestions if none are specified.

<table>
<thead>
  <tr>
    <th>
      Provider
    </th>
    
    <th>
      Generation Model (<code>
        model
      </code>
      
      )
    </th>
    
    <th>
      Completion Model (<code>
        completionModel
      </code>
      
      )
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      OpenAI
    </td>
    
    <td>
      <code>
        gpt-5.6-terra
      </code>
    </td>
    
    <td>
      <code>
        gpt-5.4-nano
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Google
    </td>
    
    <td>
      <code>
        gemini-3.1-pro-preview
      </code>
    </td>
    
    <td>
      <code>
        gemini-3.5-flash
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Anthropic
    </td>
    
    <td>
      <code>
        claude-sonnet-5
      </code>
    </td>
    
    <td>
      <code>
        claude-haiku-4-5
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Mistral
    </td>
    
    <td>
      <code>
        mistral-medium-latest
      </code>
    </td>
    
    <td>
      <code>
        mistral-small-latest
      </code>
    </td>
  </tr>
</tbody>
</table>

<note>

Google Gemini models are recommended for blocks and layouts due to their superior support for nested JSON schemas.

</note>

<note>

Behind an AI gateway, the completion default follows the prefix of your `model`. A cross-provider prefix has no derivable default and requires an explicit `completionModel` – see [Default Models](/docs/copilot/configuration/global#default-models).

</note>

## Keyboard Shortcuts

<table>
<thead>
  <tr>
    <th>
      Action
    </th>
    
    <th>
      Shortcut
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      Open prompt (writer & textarea field)
    </td>
    
    <td>
      <kbd value="meta">
        
      </kbd>
      
       <kbd value=".">
        
      </kbd>
      
       (macOS) / <kbd value="CTRL">
        
      </kbd>
      
       <kbd value=".">
        
      </kbd>
      
       (Windows/Linux)
    </td>
  </tr>
  
  <tr>
    <td>
      Submit prompt
    </td>
    
    <td>
      <kbd value="meta">
        
      </kbd>
      
       <kbd value="enter">
        
      </kbd>
      
       / <kbd value="CTRL">
        
      </kbd>
      
       <kbd value="enter">
        
      </kbd>
    </td>
  </tr>
  
  <tr>
    <td>
      Cancel generation
    </td>
    
    <td>
      <kbd value="escape">
        
      </kbd>
    </td>
  </tr>
  
  <tr>
    <td>
      Trigger inline suggestion
    </td>
    
    <td>
      <kbd value="meta">
        
      </kbd>
      
       <kbd value=",">
        
      </kbd>
      
       (macOS) / <kbd value="CTRL">
        
      </kbd>
      
       <kbd value=",">
        
      </kbd>
      
       (Windows/Linux)
    </td>
  </tr>
  
  <tr>
    <td>
      Accept inline suggestion
    </td>
    
    <td>
      <kbd value="tab">
        
      </kbd>
      
       (Tab)
    </td>
  </tr>
  
  <tr>
    <td>
      Dismiss inline suggestion
    </td>
    
    <td>
      <kbd value="escape">
        
      </kbd>
    </td>
  </tr>
  
  <tr>
    <td>
      Undo
    </td>
    
    <td>
      <kbd value="meta">
        
      </kbd>
      
       <kbd value="Z">
        
      </kbd>
      
       / <kbd value="CTRL">
        
      </kbd>
      
       <kbd value="Z">
        
      </kbd>
    </td>
  </tr>
  
  <tr>
    <td>
      Redo
    </td>
    
    <td>
      <kbd value="meta">
        
      </kbd>
      
       <kbd value="Y">
        
      </kbd>
      
       / <kbd value="CTRL">
        
      </kbd>
      
       <kbd value="Y">
        
      </kbd>
    </td>
  </tr>
</tbody>
</table>

### Prompt History

Your prompts are saved in the browser's local storage (up to 50 entries per site). Access recent prompts via the history dropdown or navigate with arrow keys in the prompt textarea.

<table>
<thead>
  <tr>
    <th>
      Action
    </th>
    
    <th>
      Shortcut
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      Previous prompt
    </td>
    
    <td>
      <kbd value="↑">
        
      </kbd>
      
       (when cursor is at the start)
    </td>
  </tr>
  
  <tr>
    <td>
      Next prompt
    </td>
    
    <td>
      <kbd value="↓">
        
      </kbd>
      
       (when cursor is at the end)
    </td>
  </tr>
</tbody>
</table>

## Placeholder Syntax

A placeholder is a field name wrapped in curly braces. When the prompt is sent, each placeholder is resolved with the actual field value from the current model (page, file, or site).

```text
Summarize this article "{title}" in a meta description (max 155 characters). Include the main benefit and end with a subtle call-to-action. No quotes. This is the article:
{content}
```

<callout color="info" icon="i-ri-information-line" to="/docs/copilot/prompt-dialog/placeholders">

Learn more about field placeholders.

</callout>

## Page Reference Syntax

Reference other Kirby pages in your prompt with `@page://page-id`. The referenced page's content is fetched and appended to your prompt automatically.

```text
Compare these two products:
@page://products/basic
@page://products/pro
```

<callout color="info" icon="i-ri-information-line" to="/docs/copilot/prompt-dialog/page-references">

Learn more about page references.

</callout>

## Properties

For the full property reference, see:

- [View Button & Field Configuration](/docs/copilot/configuration/local#available-properties) – shared properties (`label`, `userPrompt`, `systemPrompt`, `icon`, `theme`, `logLevel`)
- [Copilot Section](/docs/copilot/usage/section#configuration-reference) – section-only properties (`field`, `editable`, `files`, `storage`, `open`, `size`, `help`)

## Supported Field Types

Kirby Copilot can generate content for all built-in Kirby field types, with the following exceptions:

- `pages`, `files`, `users` – Relation fields
- `gap`, `headline`, `hidden`, `info`, `line` – Blueprint fields without user input

## File Attachments

<table>
<thead>
  <tr>
    <th>
      Type
    </th>
    
    <th>
      Handling
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      Images (JPEG, PNG, GIF, WebP)
    </td>
    
    <td>
      Auto-resized to a maximum dimension of 2048 pixels
    </td>
  </tr>
  
  <tr>
    <td>
      PDF documents
    </td>
    
    <td>
      Native parsing while the attachments total under 50 MB; text extraction above
    </td>
  </tr>
</tbody>
</table>

---

Every page of this site as Markdown: <https://kirby.tools/sitemap.md>
