Introduction

Quill is a Mac app for writing and publishing on a self-hosted WordPress site. You write posts and pages in Quill, and it saves them to WordPress in the same block format the WordPress editor uses, so you can move between the two whenever you like.

Quill handles the writing: posts and pages, images, galleries and featured images, categories and tags, scheduling, and optional AI help through Anthropic's Claude API. Themes, plugins, comments, users and site layout stay in the WordPress admin.

Quill is free to use. It is not open source; the terms are in the license.

Requirements and Installation

Requirements

  • A Mac running macOS 27 (Golden Gate) or later. Quill won't launch on earlier versions of macOS.
  • A self-hosted WordPress site running WordPress 7.0 or later, reachable over HTTPS. Older versions of WordPress may work, but they aren't supported.

Installing Quill

Download Quill from quill.siolon.com, unzip it, and drag Quill.app into your Applications folder.

Quill is notarized by Apple. The first time you open it, macOS asks you to confirm that you want to open an app downloaded from the internet. Click Open. You only see this once.

Updates

Quill checks for a new version each time it launches. When there is one, a Quill version available link appears at the top of the sidebar list. Click it to open the release page on GitHub, or click × to hide the notice for that version.

To update, download the new version, unzip it, and replace Quill.app in your Applications folder. Your credentials, drafts and settings are stored separately and carry over.

Help → Changelog lists what changed in each release. Help → User Guide opens this page.

Connecting to WordPress

Quill signs in to WordPress with an application password: a password WordPress generates for a single app, which you can revoke at any time without changing your account password. You usually don't create it yourself. The first time you open Quill, it asks your site for one and WordPress hands it over once you approve.

Connecting on First Launch

  1. Open Quill. Under Site address, type your site's address, such as example.com, and click Continue. Quill adds https:// for you, and it works with or without www.
  2. Your browser opens your site's Authorize Application page. Log in if WordPress asks, then click Yes, I approve of this connection.
  3. When your browser asks whether to open Quill, allow it. Quill finishes connecting.

WordPress names the password "Quill on" followed by your Mac's name and the date and time you connected, for example "Quill on Studio Mac (Oct 3, 2:15:07 PM)". On your profile you can tell your Macs and connections apart, and revoke one without affecting the others. If you click No, I do not approve of this connection, Quill returns to the first screen with a note saying it wasn't approved. If you approve but Quill then can't connect, the first screen says so and gives the reason. While Quill waits, Open it again reopens the approval page and Cancel starts over.

Once connected, Quill offers to add an Anthropic API key for the AI writing features. Paste a key and click Save, or click Skip for Now to add one later in Settings. Quill skips this step if a key is already set. After saving a key, choose Quill → Settings (⌘,) and go to the AI Writing section. There you can choose a model and reasoning level, teach Quill your writing style and turn web search on or off. See Setting Up under AI Writing Features.

Connecting With an Application Password

Some sites turn browser approval off. When yours does, Quill asks for an application password instead. You can also choose Use an application password instead on the first screen. On that screen, Open Profile Page opens the Application Passwords section of your WordPress profile in the browser (log in first if WordPress asks), which covers steps 1 to 3 below.

Step 1: Create an Application Password

  1. Log in to your WordPress admin.
  2. Go to Users → Profile.
  3. Scroll down to Application Passwords.
  4. In New Application Password Name, type a name you'll recognize, such as "Quill".
  5. Click Add New Application Password.
  6. Copy the password WordPress shows you. WordPress won't show it again.

Step 2: Add It to Quill

  1. Fill in:
    • Site address: your site's address. Quill uses https://; plain http:// is accepted only for a site running on localhost.
    • Username: your WordPress username.
    • Application password: the password from step 1.
  2. Click Connect.

Quill tries the credentials against your site before it saves them. If the test fails, the error appears above Connect and nothing is saved. When Quill can't reach your site at all, the error reads "Couldn't reach" followed by the site's address, and asks you to check the address and your connection. Once they're accepted, your posts and pages load in the sidebar.

To change your site or credentials later, choose Quill → Settings (⌘,), edit the fields under WordPress Credentials and click Save. Settings tests them the same way and shows any error under the credentials fields.

Credentials are stored in a file on your Mac that only your user account can read, not in the system keychain, so Quill never asks for your Mac password.

If Quill Can't Load Your Site

When a section fails to load, the sidebar shows the error with a Retry button, and the editor area reads "Couldn't load posts" (or pages, or media). Retry and ⌘R both try again.

If your Mac has no internet connection, the error reads "You're offline." Connect, then click Retry. If Quill can't reach your site or can't sign in, the sidebar also offers Open Blog Settings… so you can check the site address, username and application password. Local drafts are stored on your Mac, so the Drafts section keeps working while your site is unreachable.

If a post fails to load when you open it, Quill won't save or preview it, so the empty editor can't overwrite the real post. Open the post again once your site is reachable.

If the error says WordPress sent a reply Quill couldn't read, something on your site is adding text to its API responses, usually a PHP warning or notice from a plugin or theme. Fix or disable whichever one is producing it.

Quill's Interface

The Quill window has three parts: the sidebar on the left, the editor in the middle, and an inspector on the right. The inspector shows post settings while you're editing, or file details in the media library. You can hide the sidebar and the inspector separately.

The Sidebar

Four buttons at the top of the sidebar switch between its sections:

  • Posts and Pages list everything in that section of your site, including drafts, scheduled, pending and private items, newest first.
  • Drafts lists local drafts: posts and pages that exist only on your Mac and haven't been sent to WordPress yet. They're available even when your site isn't.
  • Media turns the sidebar into a list of filters (All Media, Images, Documents, Audio, Video) and shows your media library as a grid in the main area.

The search field below the section buttons filters the current list by title. In Media, it searches the library by file name, title and caption.

In Posts and Pages, the filter button to the right of the search field shows only items with one status: Published, Draft or Scheduled, plus Pending and Private when your site has any. Each choice shows how many items it holds. While a filter is on, the button is filled in, and search works within the filtered list. Scheduled lists the next item to go out first. Choose All Posts (or All Pages) to turn the filter off. A filter with nothing in it reads "No scheduled posts", for example. Posts and Pages each remember their own filter until you quit Quill.

Click an item to open it. To remove one, right-click it:

  • Move to Trash sends a post or page to the WordPress trash, where you can restore it from the WordPress admin. If it's open in the editor, the editor closes.
  • Delete Draft deletes a local draft permanently. Local drafts have no trash.

The sidebar button at the left end of the window toolbar hides and shows the sidebar. Drag the sidebar's right edge to make it wider or narrower; Quill opens at that width next time.

The Window Toolbar

The toolbar across the top of the window is split in two. The left side belongs to the sidebar and the right side to the editor. Hover over any button to see its name.

ButtonSideWhat it does
SidebarLeftHides or shows the sidebar
RefreshLeftReloads the current section from WordPress (⌘R), and reloads the open post or page if you have no unsaved changes in it. Hidden while the sidebar is hidden
+LeftA menu with New Post, New Page and Upload Media… Hidden while the sidebar is hidden
Back to MediaLeftCloses the large preview in the media library. Shown only while a preview is open
Save LocallyRightSaves a local draft on your Mac. Nothing is sent to WordPress. Shown only for local drafts
RevertRightThrows away unsaved changes and reloads the post from WordPress. Shown only when a post that's already on WordPress has unsaved changes
PreviewRightOpens the post in your browser. Named View Post or View Page for anything but a draft. Shown only for posts already on WordPress
ShareRightOpens the macOS share menu for the post's link. Copy at the bottom puts the link on the clipboard. Shown only for published and private posts. A private post's link opens only for people signed in to your site who can read private posts
Save or PublishRightSends the post to WordPress. Its name says what will happen, based on the Status setting. With Draft it reads Save to WordPress for a local draft and Save Draft for a draft already on WordPress, and shows an upload icon; nothing goes live. Otherwise it reads Publish, Schedule, Publish Privately or Submit for Review and shows a paper plane. A live post shows Update, or Switch to Draft if you set its status back to Draft
Post SettingsRightOpens or closes the post settings inspector
Media InfoRightTakes the place of Post Settings in the media library, and opens or closes the file details inspector. Turned off until you select an item

The icon to the left of the title shows the post's status (see Status). It shows the status last saved to WordPress, so a change in the Status menu appears there after you save. When there are unsaved changes, the window's close button shows a dot, the same as in TextEdit or Pages.

The editor's buttons are also in the menus: File → Save (⌘S), File → Publish (⇧⌘P, named to match the publish button), File → Revert to Saved and File → Preview in Browser (View in Browser for anything but a draft). View → Refresh (⌘R) reloads the current section and the open post or page, as described under Posts and Pages on WordPress. Edit → Find…, Paste as Markdown, Move Block Up and Move Block Down are turned off while no post or page is open in the editor.

Messages and Errors

Confirmations and short notices, such as "Saved locally" or "Image inserted", appear at the bottom of the window and fade after a couple of seconds.

A problem with the post you have open, such as a failed save, upload, preview or AI rewrite, appears in a banner above the editor. The banner stays until you close it with ×, try the same thing again, or open another item. A problem with a post you've already left appears at the bottom of the window instead, and stays for a few seconds longer than a notice.

When WordPress refuses a request and gives a reason, Quill shows that reason after "WordPress didn't accept the request:". Without a reason from WordPress, the message asks you to re-enter your application password.

When Nothing Is Open

With nothing selected in Posts, Pages or Drafts, the editor area shows your site's name and address, with its Site Icon beside them if you've set one in WordPress (Settings → General), and two short lists:

  • Continue Writing lists the three items you most recently worked on, newest first. Click one to open it. In Posts it can be a WordPress draft, a local draft, or any post or page with unsaved changes on this Mac, so a local draft opens in Drafts and a page opens in Pages. In Pages it is a page, and in Drafts a local draft. On a site with several authors, other people's drafts are left out.
  • Recently Edited takes its place when there is nothing to continue: the three posts (pages, in Pages) you last edited, published or not. Scheduled posts stay under Scheduled.
  • Scheduled lists up to three posts (pages, in Pages) due in the next two weeks, soonest first, with the day and time each goes out. A post whose time has passed by more than five minutes without publishing reads Missed schedule and comes first.

When there is nothing to show in any of them, it says "Select a post to edit" (or page, or draft), or "No posts yet" when the section is empty. Start something new from the File menu, the + menu, or with the shortcuts in the next section. Media always shows its grid.

Writing and Editing

Creating Posts and Pages

Use the File menu or the + menu in the window toolbar:

  • New Post (⌘N)
  • New Page (⇧⌘N)
  • New Media… (⌥⌘N), called Upload Media… in the + menu

A new post or page starts as a local draft in the Drafts section. It stays on your Mac until you send it to WordPress.

Type the title in the Title field at the top of the editor, and the body below it. A new draft has no title until you type one, and the sidebar lists it as Untitled. Headings, lists, quotes and other blocks show their formatting as you write. Your theme's fonts and colors apply only on the published site.

Clicking in the blank space beside or between lines puts the cursor in the nearest line, at the point you clicked.

The Formatting Toolbar

The formatting toolbar runs across the top of the editor. If the window is too narrow to fit every button, the toolbar scrolls sideways.

Text and Blocks

ButtonShortcutWhat it does
Undo, Redo⌘Z, ⇧⌘ZUndoes or redoes the last change. Undo goes back no further than the post as it opened
P (Paragraph / heading)⌥⌘0 to ⌥⌘6A menu that turns the current block into a paragraph or a heading from Heading 1 to Heading 6. ⌥⌘0 is a paragraph, ⌥⌘1 is Heading 1, and so on
B⌘BBold
I⌘IItalic
S⇧⌘SStrikethrough
A⌘EInline code. It can be combined with bold, italic or a link
LinkAdds, changes or removes a link. See Links
Bullet list⇧⌘8Turns the current block into a bulleted list
Number list⇧⌘7Turns the current block into a numbered list
Blockquote⇧⌘BWraps the current block in a quote, or unwraps it. See Quotes
{} (Code)⌥⌘CTurns the current block into a code block

There is no underline button, because underlined text on a web page is easily mistaken for a link. ⌘U still underlines text if you want it.

Quill also keeps inline formatting it has no button for. Subscript, superscript, keyboard input, highlight, abbreviations and similar tags added in the WordPress editor come through an edit in Quill unchanged.

Inserting

ButtonWhat it does
ImageOpens your media library so you can pick an image to insert
GalleryOpens the gallery picker
TableOpens a size grid for a new table
* (Footnote)Adds a footnote at the cursor
EmbedAdds a video, social post or other embed from its URL
+ (Additional blocks)A menu of the blocks with no button of their own: Columns, Accordion, Tabs, Details, Buttons, Pullquote, Preformatted, Custom HTML and Separator. See Container Blocks
ABCChecks spelling
</>Switches to code view and back
Checkmark in a circleEvaluates your writing. Shown only when an Anthropic API key is set. See AI Writing Features
PencilGenerates a post with AI. Shown only when an Anthropic API key is set

The Second Toolbar Row

A second row of controls appears under the toolbar when the cursor is in a block that has options of its own. What it shows depends on the block:

BlockControlsWhat they do
Quote, PullquoteCiteAdds or removes a citation line
ImageAlign left, center, rightFloats the image left or right with text wrapping around it, or centers it. Click the active button again to clear the alignment
Table+Row, +Col, −Row, −Col, Header, FooterAdds or removes rows and columns, and turns the header and footer rows on or off
Columns+Col, −ColAdds a column, or removes the one the cursor is in
Buttons+Button, −Button, LinkAdds a button, removes the current one, or sets where it links to
Accordion+Item, −Item, Auto-closeAdds or removes a section. Auto-close closes the other sections when a reader opens one
AccordionIcon, Icon sideShows or hides the open/close icon and puts it on the left or right. The change applies to every section in the accordion, and one undo reverses it
Accordion section, DetailsOpenShows that section open when the page loads
Tabs+Tab, −Tab, DefaultAdds a tab, removes the current one, or makes the current tab the one readers see first
Button, Quote, Separator, Image, TableStylePicks one of the block styles WordPress provides: Outline for a button, Plain for a quote, Wide Line or Dots for a separator, Rounded for an image, Stripes for a table
A button with a link, a link in textNew tabMakes the link open in a new browser tab
Most blocks you can insert✕Deletes the block (⇧⌘⌫). See Container Blocks

These settings are saved as real WordPress block settings, the same as choosing them in the WordPress editor's sidebar, not as hand-written markup.

Select some text and click the Link button to open the link picker. Start typing to search your site's posts, pages, categories, tags and media by title, or paste any URL. Click a result or press Return to apply it. With the cursor on an existing link, the picker also has a Remove link button. If the search fails, the picker says "Couldn't search" and gives the reason; you can still paste a URL.

To follow a link from the editor, hold ⌘ and click it. Links show an underline and a pointing-hand cursor while ⌘ is held down.

A link opens in the same tab unless you turn on New tab in the second toolbar row.

Markdown Shortcuts

The editor turns common Markdown into formatting as you type.

Blocks

Type these at the start of an empty line:

Type thisTo get
# through ###### Heading 1 through Heading 6
- or * or + Bulleted list
1. Numbered list
5. Numbered list starting at 5 (any number works)
> Quote
``` and a spaceCode block
```js and a spaceCode block with a language set (js, python and so on)
---Separator
*** or ___ Separator

--- converts as soon as you type the third hyphen. *** and ___ need a space after them.

Inline Formatting

These convert as soon as you type the closing characters:

Type thisTo get
**bold** or __bold__Bold
*italic* or _italic_Italic
~~strikethrough~~Strikethrough
`code`Inline code

Markdown has no underline, so use ⌘U.

Automatic Links

A web address becomes a link when you type a space after it. This works for full URLs (https://example.com), addresses starting with www., and email addresses.

What Doesn't Convert

  • 1) doesn't start a numbered list. Use 1.
  • - [ ] doesn't make a checklist, because Quill has no checklist block.
  • ==highlight== stays as typed.
  • Quill doesn't change punctuation as you type: -- stays two hyphens, ... stays three dots, and straight quotes stay straight. Type or paste typographic characters if you want them.

Undoing a Conversion

If a shortcut converts something you wanted to keep as typed, press Delete straight away. The formatting is removed and your characters come back, so # stays # and **bold** stays **bold**. Code blocks are the exception: Delete removes the block but not the backticks.

This only works as the very next key you press. After that, Delete behaves normally, and ⌘Z undoes the conversion along with the typing around it.

Pasting

What you get when you paste depends on what's on the clipboard. Text copied from a web page, a word processor or a chat app carries formatting, and ⌘V handles it. Plain-text Markdown needs its own command.

Formatted Text (⌘V)

Quill rebuilds pasted content with its own formatting instead of keeping the original markup, so you don't inherit another app's fonts, colors or stray code. Text pasted from Word or Google Docs matches the rest of your post, and WordPress accepts every block it produces without asking to repair it.

Headings, paragraphs, lists (nested ones too), quotes, tables, images, links and inline formatting all come through. Centered and right-aligned paragraphs and table cells keep their alignment. Content copied from a WordPress site keeps its preset colors and font sizes.

Pasted fromWhat you get
WordReal bulleted and numbered lists, nested as they were, including lettered and Roman-numeral levels
A code editor such as VS CodeOne code block, with its line breaks and indentation
ChatGPT or ClaudeCode blocks keep their code, without the language label or the Copy button
A YouTube, Vimeo or Spotify player on a web pageAn embed of the video or track
A video or audio player with a web addressA WordPress video or audio block
Any other <iframe>, such as a mapRemoved. Nothing is inserted
A definition listA bold paragraph for each term, followed by its definition
An image inside a table cell or list itemIts description (alt text)
Several paragraphs, lists or a table inside one table cellLines in that cell, one per paragraph or list item

Paragraphs and quotes pasted into a list item become further items in that list, as they do in the WordPress editor. Blocks pasted into an empty paragraph replace it.

A YouTube, Vimeo, X, Spotify, SoundCloud, TikTok or Instagram link pasted on its own into an empty line becomes an embed. Pasted into a sentence, it stays a link.

A screenshot, or an image file copied in the Finder, uploads to your media library when you paste it and is inserted at the cursor, the same as dragging it in (see Images). Pictures inside a pasted Word document upload too, and each one switches to its media library copy when the upload finishes. ⌘Z after an upload removes the pasted content.

Copying and pasting inside Quill keeps every block exactly as it was, including accordions, tabs, galleries and tables. Content copied from another app built on the same kind of editor, such as Confluence, is cleaned like any other outside paste.

After a large paste, it's worth a look in code view to confirm everything arrived.

Markdown (⇧⌘V)

The Markdown Shortcuts only work on text you type. If you paste Markdown with ⌘V, most of it arrives as plain characters, so # Heading stays # Heading. A few pieces, such as **bold** and `code`, do convert, which leaves the text half formatted.

Choose Edit → Paste as Markdown (⇧⌘V) instead. It converts everything on the clipboard at once and inserts it at the cursor: headings, lists, quotes, tables, code blocks, separators, links and inline formatting.

  • ⌘V is unaffected. Paste as Markdown is a separate command.
  • Text copied from a web page or chat app usually pastes better with ⌘V, because it's already formatted.
  • A Markdown image (![alt](url)) keeps its original address, so the published post would load it from wherever it lives now. Replace it with an image uploaded to your media library.
  • The command doesn't work inside footnotes, code blocks or code view. Quill explains why and inserts nothing.
  • Checklist items (- [ ]) become ordinary list items.

Moving Blocks

Point at a block and a small marker appears in the margin to its left. The marker shows what kind of block it is: ¶ for a paragraph, h2 for a heading, • for a bulleted list, and a small drawing for an image, table, gallery, embed, quote or container. Hold the pointer on it for a moment to see the block's name.

Drag the marker to move the block. An amber line shows where it will land. A block always lands between two blocks, never inside a column, Group, quote, list or table, even when you let go over one. A Group or Columns block moves with everything in it. Letting go where the block already is changes nothing.

To move a heading together with everything under it, hold ⌘ with the pointer on the heading's marker. The marker turns amber and the section is tinted: the heading and every block after it, up to the next heading of the same or a higher level. Keep holding ⌘ and drag. Letting go of ⌘ once the drag has started doesn't change what moves.

Click a marker to make that block the current one: the cursor goes to the start of a paragraph, heading, list, code block, quote or pullquote, and any other block is selected. Edit → Move Block Up (⌃⌘↑) and Move Block Down (⌃⌘↓) then move it one place at a time. They move the top-level block the cursor is in, so they work without the mouse too. With the cursor in a paragraph inside a column, they move the whole Columns block. They do nothing in code view or while an AI result is waiting.

Each move is one step for ⌘Z. Footnotes are renumbered to follow the new order. The markers hide while you type and come back when you move the mouse; they don't appear in code view or while an AI result is waiting. The footnotes list can't be moved, and nothing can be moved below it.

Saving and Publishing

Local Drafts

Click Save Locally or press ⌘S to save a local draft on your Mac. Nothing is sent to WordPress.

To send a local draft to WordPress, choose a Status in Post Settings, then click the publish button or press ⇧⌘P. The button's name tells you what will happen. A new draft's status is Draft, so the button reads Save to WordPress and creates a draft on WordPress that readers can't see; a "Saved to WordPress" message confirms it. Set the status to Published first if you want it to go live straight away.

Once the draft is on WordPress, it moves from Drafts to Posts or Pages. Anything you type while it's being sent is kept and comes back as unsaved changes on the new post. If the post is created but Quill can't remove the local draft, a message says so; delete the draft yourself so it isn't published twice.

Posts and Pages on WordPress

⌘S and the publish button both save your changes to WordPress with the post's current status. On a published post, the button reads Update; on a draft, Save Draft. If you set a published post's status back to Draft, the button reads Switch to Draft, and saving takes the post off your site.

Revert throws away your unsaved changes, including changes in Post Settings, and reloads the post from WordPress. Quill asks you to confirm first. If WordPress can't be reached, a banner above the editor says so and the editor is left as it was.

Refresh (⌘R) also reloads the open post or page when it has changed on WordPress and you have no unsaved changes in it, so an edit made in the WordPress editor appears without reopening the post. If you have unsaved changes, or a save is running, Refresh leaves the editor as it is. It doesn't apply to local drafts.

Before saving, Quill checks whether the post has been changed on WordPress since you opened it, for example in the WordPress editor. If it has, a Conflict Detected alert gives you three choices: Keep Local saves your version over the one on WordPress, Use Server throws away your changes for good, including the autosave on your Mac, and loads the WordPress version, and Cancel does nothing.

If you switch to another post while a save is running, the save still finishes for the post you saved, and a message names it: "Title: Published", for example. If the save fails, the message says which post wasn't saved and why. If that post was changed on WordPress in the meantime, the message says so, and you choose which version to keep the next time you open it.

Change Bars

A thin grey bar in the right margin marks each block that differs from the last saved version, new blocks included, and a small grey dot marks the place where a block was deleted. A change anywhere inside a list, quote, group or set of columns marks the whole block. Hover over a bar or dot to see what it means. The bars hide while you type and come back when you move the mouse. Saving or reverting clears them, and they don't appear in code view. When Quill restores unsaved changes, the bars show which blocks those changes touched.

Autosave

Quill saves your work on your Mac 30 seconds after your last change, and again when you switch to another item, switch sites or quit. For a local draft, this updates the draft. For a post on WordPress, the autosave stays on your Mac and nothing is sent to your site. If you reopen the post before saving it to WordPress, even after quitting Quill, your changes come back and Quill shows "Unsaved changes restored". If the post was edited on WordPress in the meantime, the restored changes don't overwrite that edit: when you save, the Conflict Detected alert asks which version to keep.

Autosave keeps the title, the body and the footnotes. It doesn't keep Post Settings (apart from a local draft's excerpt), so setting changes you haven't saved to WordPress are lost when you leave the post. If Quill can't write an autosave, a banner above the editor says so.

Preview

Click Preview to see a draft in your browser the way it looks on your site, with your unsaved changes. It works only for posts and pages already on WordPress, not for local drafts.

For a published, scheduled, pending or private post, the button is View Post (View Page for a page). It opens the version saved on WordPress, without your unsaved changes: WordPress shows unsaved changes to these posts only in a browser signed in to its own editor. To see your changes on the site, save them first. For a published post, that updates the live post.

For a draft, WordPress saves your changes into the draft itself, footnotes included, because drafts don't keep a separate preview copy. Previewing a draft is the same as saving it to WordPress. Because of that, if the draft was changed on WordPress since you opened it, Preview shows the Conflict Detected alert first. Keep Local previews and saves your version, and Use Server discards your changes.

Find and Replace

Press ⌘F (or choose Edit → Find…) to open the find bar. Type in Find to highlight every match. Press Return for the next match and ⇧Return for the previous one, or use the arrow buttons. Turn on Aa to match upper and lower case exactly.

To replace text, type the new text in Replace, then click Replace for the current match or All for every match. Press Esc or click ✕ to close the bar.

Spell Check

Click ABC in the toolbar to check spelling. Misspelled words get a red underline. Right-click an underlined word to pick a suggestion. Editing a word removes its underline; click ABC again to check the post again.

Code View

Click </> in the toolbar to switch between the visual editor and the post's HTML. Code view shows exactly what Quill saves to WordPress, including the block comments such as <!-- wp:paragraph -->, indented so it's easy to read. Click </> again to return to the visual editor.

Editing in code view. You can type straight into the HTML. Quill picks up your changes as you type, so ⌘S saves what's in code view without you having to leave it first.

Classes and IDs. A class or ID you add in code view stays put when you go back to the visual editor and keep writing, on any of these:

  • Paragraphs, headings, quotes and citations
  • Lists (<ul>, <ol>, <li>)
  • Code blocks and separators
  • Tables (<table>, <tr>, <th>, <td>)
  • Image figures (<figure>) and images (<img>)
  • Links (<a>)

For example, if you add class="intro" to a paragraph, switch back and type more, the class is still there. Changing a link's address in the link picker keeps any classes on it. Pressing Return to start a new block doesn't copy classes to it.

Other HTML changes. Anything else you change in code view, such as inline styles, data attributes or custom elements, is saved exactly as you wrote it as long as you save before making changes in the visual editor. Once you edit in the visual editor, Quill rebuilds the HTML from what the editor understands, and those changes are lost.

Blocks Quill can't edit. A block Quill has no editor for, such as Audio, Video, Playlist, Cover, Media & Text, Spacer or a plugin's block, appears in the visual editor as a one-line card with the block's type, followed by the name you gave it in the WordPress editor's List View if it has one (for example "Cover: Membership hero"), and the note "Edit in Code View (</>)". The card doesn't show the text inside the block, except for a shortcode, which shows its code. The card keeps the block's markup exactly as it was, including anything nested inside, and edits elsewhere in the post don't touch it. It's lost only if you delete the card. To change what's in the block, use code view.

HTML outside a block. If a post has HTML that isn't inside a block, such as a callout box written as <div class="note">, Quill keeps it as a Custom HTML block, the same way the WordPress editor's Convert to Blocks does. Paragraphs, headings, lists, quotes, tables and images outside a block stay editable and are saved as normal blocks. A plain <div> with no class, ID or style is removed and its paragraphs become normal paragraphs.

If you need changes that go beyond classes on the elements listed above, do your writing in the visual editor first and make the HTML changes in code view last, just before you save.

Content Elements

Images

Click Image in the toolbar to open your media library, then click an image to insert it at the cursor. Upload… in the same window adds an image from your Mac to the library first.

You can also drag image files from the Finder onto the editor. Quill uploads them to your media library and inserts them. A progress indicator at the bottom of the window counts through a batch ("Uploading image 2 of 3…") and finishes with one message, such as "3 images inserted". If an upload fails, a banner above the editor names the problem, or says how many files in the batch failed. You can drop another batch before the first one finishes; Quill uploads them in turn.

A dropped or pasted image goes only into the post you dropped it on. If you open a different post before its upload finishes, the image stays in your media library, isn't inserted anywhere, and a message says so.

HEIC photos, the format iPhones use by default, are converted to JPEG before upload so WordPress can make its usual smaller sizes (see Uploading).

After an image goes in, the cursor moves to a new empty paragraph below it so you can keep typing. Click the image to select it. An image toolbar appears over it, and the alignment and Style controls appear in the second toolbar row.

Size

  • Drag any of the eight handles around a selected image to resize it. A corner handle keeps the image's proportions, so Quill saves only the width and the height follows it on narrow screens. Dragging an edge handle, or holding Shift on a corner, stretches the image and saves a fixed height as well.
  • Type exact pixel sizes in the W and H fields in the image toolbar.
  • For images from your media library, Thumb, Medium, Large and Full switch to the files WordPress made for that image. A width you set stays as it is. Images from elsewhere only have the W and H fields.
  • Reset removes any width and height you set and switches back to the original file.

Alt Text

Type a description in the Alt field in the image toolbar. Screen readers read it out, and search engines use it. If the image already has alt text in the media library, Quill fills it in when you insert the image.

An image marked as decorative in the WordPress editor stays marked that way when you edit and save in Quill. Quill has no control for this setting, and it doesn't add or remove it.

Alignment

With an image selected, the left, center and right buttons in the second toolbar row float it to one side with text wrapping around it, or center it. The image stays selected after you change its alignment, so the image toolbar stays open.

Captions

A caption is optional. To add one, click the space just below the image and type. Press Return to leave the caption and start a new paragraph. Because the cursor lands below the image after you insert it, typing straight away adds body text, not a caption.

If you insert a single image from the media library and it already has a caption there, Quill fills the caption in, with its formatting and links. Change or delete it like any other caption; the image in your media library isn't changed.

Linking to the Full-Size Image

Click Link to Full Image in the image toolbar to make the image a link to its original, full-size file. Readers who click it on your site see (or download) the full-size version. Click the button again to remove the link. This works whatever size the image is shown at in the post.

Inline Images

An image can also sit inside a line of text, in a paragraph, heading, list item or table cell, instead of on its own line. Posts written in the WordPress editor can contain these, and Quill keeps them where they are. Quill inserts one itself only when the cursor is in a table cell; everywhere else, Image adds an image on its own line.

Click an inline image to select it. A panel opens beside it with two fields:

  • Width: the image's width in pixels. Leave it empty to show the image at its own size.
  • Alternative text: the description screen readers read. Leave it empty if the image is decorative.

Change either field and click Apply to set both together. Apply stays turned off until something changes. Press Esc to close the panel. The image toolbar, alignment buttons and captions are for images on their own line and don't apply to inline images. Drag a selected inline image to move it within the text, or press Delete to remove it.

Click Gallery in the toolbar to open the gallery picker. Click images in the grid to select them. Each one gets a checkmark and is added to the Selected list, in the order it will appear. Drag an image in that list by its handle to move it, or click its ✕ to take it out.

Click the arrow next to a selected image to give it Alt Text and a Caption. Alt text from the media library is filled in for you. What you type here applies only to this gallery. The image in your media library, and any other post that uses it, isn't changed.

Upload… adds an image from your Mac to your media library and selects it.

The gallery settings are below the Selected list:

  • Columns: how many images per row, from 1 to 8.
  • Crop: turn on Square to crop every image to a square.
  • Link To: None, or Full Image to make each image a link to its full-size file.
  • Size: which of WordPress's image sizes to use: Thumbnail, Medium, Large or Full Size.
About Size: WordPress usually offers the browser several sizes of each image and lets it choose, which is what keeps photos sharp on Retina screens. On a modern high-resolution display you may see no difference between Medium and Large for that reason. Size still matters in older browsers, RSS feeds and email, and it always changes how much data the page loads.

Click Insert Gallery to add the gallery as a single block. The button is available once at least one image is selected.

In the editor, a gallery shows as a grid of thumbnails. To change one, double-click it, select it and press Return, or click Edit… under the thumbnails. The gallery picker opens as Edit Gallery with the gallery's images, settings, alt text and captions filled in. While the images load, the picker is dimmed; if they can't be loaded, it shows the error and a Retry button. Make your changes and click Update Gallery to replace the gallery in place. Edit → Undo puts the old one back. An update keeps each image's current file unless you choose a different Size.

If the gallery is changed or removed from the post while the picker is open, the update isn't applied and a banner above the editor reads "The post changed while the gallery was open, so the gallery wasn't updated."

Galleries made in the WordPress editor can be edited the same way, and anything the picker doesn't show is kept: each image's size, link and "open in new tab" setting, block style and theme classes, colors, spacing and aspect ratio, and captions with formatting such as bold or links. A gallery that uses WordPress's default column layout keeps it until you change Columns. A formatted caption stays formatted unless you change its text; a changed caption is saved as plain text. An image that is no longer in your media library keeps its own file and size.

These options only appear when you edit a gallery made elsewhere:

  • Size: Mixed appears when the gallery's images use different sizes. Leave it to keep each image's size; images you add get Large. Picking any other size applies it to every image.
  • If every image uses a size your theme adds, such as Medium Large, the Size menu shows it by name.
  • Link To: Keep Current Links appears when the gallery links to attachment pages, has a custom link on an image, or mixes links. Leave it to keep every existing link as it is; images you add follow the gallery's link setting. Picking None or Full Image replaces all of the links.

Quotes

Press ⇧⌘B or click Blockquote to turn the current block into a quote. Do the same again to turn it back into ordinary paragraphs.

Inside a quote, the second toolbar row has a Cite button. Click it to add a line at the bottom of the quote for the author or source, and click it again to remove the line. An empty citation isn't saved.

Pressing Return inside a quote starts a new paragraph in the quote. Pressing Return on an empty line leaves the quote. If the quote has a citation, an empty line just above the citation works the same way: the cursor moves to a new paragraph after the quote, and the citation stays with the quote.

A Pullquote is a separate block for a quote that stands apart from the text around it. Insert it from the + menu. It gets a citation from the same Cite button.

Container Blocks

Columns, Details, Buttons, Accordion, Tabs, Pullquote and Preformatted are blocks that hold other content. Insert them from the + menu in the toolbar, then type in them as you would anywhere else.

BlockWhat it is
ColumnsContent in side-by-side columns
DetailsA section that opens and closes when the reader clicks its summary line
ButtonsOne or more buttons that link somewhere
AccordionA stack of sections that open and close, each with its own heading
TabsPanels with a row of tabs, showing one panel at a time
PullquoteA quote set apart from the body text
PreformattedText kept exactly as typed, including spaces and line breaks

Custom HTML. Choose Custom HTML from the + menu to add HTML of your own, such as an embed code or a styled box. Type or paste the HTML in the window that opens and click Insert (⌘Return). Quotes and dashes you type there stay exactly as typed. If your WordPress account is allowed to add unfiltered HTML (on most sites, administrators and editors), the window also has CSS and JavaScript tabs, which save the same way the WordPress editor's Custom HTML block does. A block that already has CSS or JavaScript always shows those tabs.

In the editor, the block is a card with a preview of its HTML and the note "Renders as Custom HTML in WordPress". The HTML isn't rendered in the editor, but it is on your site. To change it, double-click the card or click Edit…. The window opens as Edit Custom HTML, and Save (⌘Return) updates the block. This works for Custom HTML blocks made in the WordPress editor too. Custom HTML always goes in at the top level of the post: with the cursor inside a container block, it's added after that block. It can't be added to a footnote.

The controls for adding and removing columns, buttons, accordion sections and tabs are in the second toolbar row, along with each block's settings. Adding one puts the cursor in the new column, button, section or tab, so you can type straight away.

Groups. A Group, Row, Stack or Grid can't be added from the + menu. One that is already in a post, for example from a pattern, opens for editing with a small label above it. Its contents are edited like any other content, and ✕ or ⇧⌘⌫ deletes the whole group. See Block Editor Compatibility for when a Group stays a card instead.

A new Accordion or Details block, or a new tab, starts without a title. Quill shows a gray hint where the title goes ("Tab title" on a tab), which appears only in the editor, never on your site. A new accordion puts the cursor in its title so you can type it straight away; in a Details block, click the hint to type the title.

If the cursor is in an accordion heading, a Details summary, a tab title or a button when you insert a block, such as a table or an image, the new block goes after the whole Accordion, Details, Tabs or Buttons block instead of splitting it.

To see how an accordion section or a Details block looks closed, click its heading row outside the title text. This only affects the editor. Whether it starts open on your site is the Open setting. In a Tabs block, the panel you see follows the cursor; the Default setting decides which tab readers see first.

Leaving a block. Press Esc to move the cursor to the paragraph below the block. Quill adds a paragraph if there isn't one. Pressing Return twice does the same. In nested blocks, each press moves out one level. In a Buttons block, Return in an empty button replaces it with a paragraph, and the buttons after it stay in a Buttons block of their own. This is how you carry on writing after a block at the end of a post.

Deleting a block. With the cursor in a block, a ✕ appears at the right end of the second toolbar row, with a tooltip naming the block it will delete. Click it or press ⇧⌘⌫. This works for tables, quotes, pullquotes, code blocks, preformatted text, separators, groups and the container blocks. The cursor moves to the next block, or to the one before if there's nothing after it. In nested blocks, the innermost one goes first, so you can work outwards one block at a time.

Separators

A separator is a horizontal line between sections. Insert one from the + menu, or type --- on an empty line. Click it to select it; ✕ or ⇧⌘⌫ deletes it. Its style, a wide line or a row of dots, is in the second toolbar row.

Footnotes

Put the cursor where you want the footnote number and click * in the toolbar. A numbered marker appears at the cursor, and a matching note is added to the list at the bottom of the post for you to type into.

  • Footnotes are numbered in the order they appear. Adding one between two others, or deleting one, renumbers the rest.
  • The ↩︎ button after each note takes you back to its marker in the text.
  • To delete a footnote, delete its marker. The note goes with it. You can't delete a note from the list on its own.
  • Press Return inside a note to start a new line in the same note.
  • Notes can hold bold, italic, strikethrough, inline code and links, but not images, headings, lists, tables or quotes. Those toolbar buttons are turned off while the cursor is in a note, and pasting into a note keeps only the text and inline formatting.

Quill saves footnotes the way current WordPress does, with the note text stored alongside the post rather than in its body. On your site they look exactly as they would from the WordPress editor. In code view, the notes aren't part of the HTML; a <!-- wp:footnotes /--> line marks where the list goes. If you type or paste a footnote list (<ol class="wp-block-footnotes">) in code view, its notes become the post's footnotes.

Footnotes written by older versions of Quill were stored differently. Quill leaves such a post as it is until you edit it, and the first edit moves the notes to the current format. Nothing is lost either way.

If a post has footnote markers but WordPress has no text stored for them, Quill shows an empty note for each marker so you can type the text in.

Tables

Click Table in the toolbar to open a size grid. As you move across it, the label reads back the size, so "4×3 Table" is four columns by three rows. Click to insert. You can also use the arrow keys, Return to insert and Esc to close.

A table wider than the editor's column scrolls sideways. A fade at its edge shows there's more to see in that direction. The width only affects the editor; your site lays the table out with your theme's styles.

A new table has a header row, saved as a proper table header on your site. With the cursor in a table, the second toolbar row has:

ButtonWhat it does
+RowAdds a row below the current one
+ColAdds a column to the right of the current one
−RowDeletes the current row
−ColDeletes the current column
HeaderTurns the header row on or off
FooterTurns the footer row on or off

Press Tab to move to the next cell and ⇧Tab to move back. Tab in the last cell adds a new row. To delete the whole table, click ✕ at the end of the second row or press ⇧⌘⌫.

A table cell holds text, as in the WordPress editor. Image with the cursor in a cell puts a small inline image in the text, up to 150 pixels wide. Click that image to change its width or its alternative text, then choose Apply; any other block you insert from a cell, such as a gallery or an embed, goes after the table.

A table from WordPress keeps whatever header and footer rows it had. A table caption written in the WordPress editor is kept as it is, but Quill can't add or change captions; do that in WordPress.

Embeds

Embeds put a video, social post or audio player from another site into your post.

  1. Click Embed in the toolbar.
  2. Paste the URL of what you want to embed.
  3. Press Return or click Insert.

In the editor, an embed shows as a card with the provider's name and the URL. The embed itself appears only on your published site; Quill doesn't load it.

Quill recognizes these providers and saves them the way the WordPress editor does:

ProviderContent
YouTubeVideo
VimeoVideo
X (Twitter)Posts
InstagramPosts
TikTokVideo
SpotifyMusic and podcasts
SoundCloudAudio

Other URLs are saved as general embeds, and WordPress tries to show them with its own embed support.

Whether an embed shows correctly on your site depends on the provider, and providers change their embed support without notice. X embeds are known to be unreliable.

Post and Page Settings

Click Post Settings at the right end of the window toolbar to open the settings inspector for the current post or page. The AI evaluation uses the same space, so opening one replaces the other.

Changes here are sent to WordPress the next time you save or publish, not as you make them. Until then they count as unsaved changes: the window's close button shows a dot, and Revert puts the settings back along with the rest of the post.

Settings aren't autosaved. For a post on WordPress, setting changes you haven't saved are lost when you switch to another item or quit. For a local draft, settings, including the featured image, are sent along when you save the draft to WordPress, but they aren't saved with the draft on your Mac, so if you switch to another item or quit Quill first, you'll need to set them again. The excerpt is the exception: it's saved with the draft.

Status

Status controls whether and when the post is visible on your site:

StatusIconColorMeaning
DraftPencilAmberSaved on WordPress but not visible to readers
Pending ReviewEllipsisOrangeWaiting for an editor to approve it
PublishedCheckmarkGreenLive on your site
ScheduledClockBlueWill be published automatically at the date and time you set
PrivateLockTealPublished, but visible only to logged-in administrators and editors
Local draftTrayVioletSaved only on your Mac; not on WordPress yet

The icon appears next to the title in the editor and shows the saved status. In the sidebar, each row shows the status as a colored dot and in words, so you never have to rely on color alone. A local draft's row also says whether it's a post or a page.

Publish Date

The Publish Date section appears for every status except Private. Turn on Schedule to set the status to Scheduled and show a date and time picker, set to an hour from now. Turn it off to go back to Draft.

Choosing Scheduled in the Status menu does the same thing.

To publish a scheduled post right away, change its Status to Published and save. The post goes live with the current date and time instead of staying scheduled, and its status icon changes to Published.

When the date and time are right, click the publish button, which now reads Schedule, or press ⇧⌘P. WordPress publishes the post at that time.

If the date and time have passed, or are less than a minute away, WordPress publishes the post immediately instead of scheduling it. The picker then shows "This time has passed. The post will publish immediately." When you save or publish, a Publish Now? alert states the date the post will carry. Publish Now continues and the post goes live. Cancel keeps it unsaved so you can change the time.

Parent Page (Pages only)

Choose a parent to put this page under another one in your site's structure and web address, or leave it at None (top-level).

Categories (Posts only)

Every category on your site is listed here in alphabetical order. Tick a category to assign it; ticked categories move to the top of the list, below any new categories you've added. Type in the field above the list to filter it.

To add a new category, type its name and press Return, or click Add "name". It's marked "new", appears at the top of the list, and is created on your site when you save or publish the post. If a category with that name already exists on your site, for example one added in WordPress after Quill loaded its list, Quill uses it instead of creating a second one.

Tags (Posts only)

Tags assigned to the post appear above the search field; click the × on one to remove it. Type to find an existing tag and click it to add it, or press Return to create a new tag. New tags are created on your site when you save or publish the post. As with categories, a tag that already exists on your site is reused.

Featured Image

The featured image is the picture your theme shows with the post, for example at the top of the post or next to it in lists. Posts and pages both have one.

To set it, click Choose… and pick an image from your media library, or click Upload… in that window to add one from your Mac. You can also drag an image file from the Finder onto the box. A dropped image uploads to your media library straight away, keeping its file name, and HEIC photos are converted to JPEG first. If you save while it's still uploading, Quill asks you to save again once it's done. If you open another item before the upload finishes, the image stays in your media library but isn't set as the featured image.

Once an image is set, its alt text appears under it, or "No alt text" if it has none. Click the image or Replace… to pick a different one, or drop a new file onto it. Remove clears the featured image. Like the other settings, the change goes to WordPress the next time you save.

To change the alt text, select the image in the Media Library and edit it in the details inspector. Alt text belongs to the image, not the post, so the change applies everywhere the image is used.

Slug

The slug is the part of the post's web address that comes from its title, such as my-first-post. Change it here, or leave it blank and WordPress makes one from the title.

Excerpt (Posts only)

An excerpt is a short summary that some themes show on archive and search pages. If you leave it blank, your theme may show the opening words of the post there instead. Generating a post with AI fills it in for you.

Discussion

Turn off Allow comments to close comments on the post or page.

Stats

A live word and character count for the post, with an estimated reading time based on 238 words a minute, rounded up.

Media Library

Click Media at the top of the sidebar to browse everything uploaded to your site. The sidebar shows a list of filters and the library fills the main area as a grid, newest first.

Browsing

Images show as thumbnails, and other files show a file icon. The thumbnails grow or shrink with the window so each row fills its width. Click an item to select it, and use the arrow keys to move the selection. More items load as you scroll.

The filters narrow the grid to one kind of file. Documents covers PDFs and office files. Plain-text files such as .txt and .csv aren't included there; you'll find them under All Media. The search field searches within the current filter, so if a file you expect is missing, clear the search or switch to All Media. Switching to another filter deselects the selected item. A filter with nothing in it reads "No images" (or documents, audio, video) and suggests choosing All Media.

Right-click an item for these commands:

CommandWhat it does
Show DetailsOpens the details inspector for that item
Copy URLCopies the file's address
Open in BrowserOpens the item's attachment page on your site. Not shown if the item has none
DeleteDeletes the file from WordPress for good. See Deleting Media

Previewing

Press Space or double-click an item to see a large preview over the grid. Press Space or Esc again, or click outside the preview, to close it. You can also click Back to Media at the left of the window toolbar. Closing the preview also deselects the item. Switching filters, searching or refreshing closes the preview. Only images can be previewed; other files show a placeholder.

Details

To see an item's details, select it and click Media Info at the right end of the window toolbar, or right-click the item and choose Show Details. The inspector opens on the right and follows whichever item is selected until you close it.

FieldShows
TitleThe item's title in WordPress, which you can edit. The grid shows it under the thumbnail, or the file name if there's no title
Alt TextThe image's alt text, which you can edit (images only)
CaptionThe item's caption, which you can edit. Formatting and links show as HTML, as in WordPress's own Caption field. For files other than images it's labeled Short Description, as WordPress labels it
FilenameThe name of the file on your site
TypeThe file extension, such as JPG or PDF
DimensionsWidth and height in pixels (images only)
File SizeThe size of the file. Not shown for files uploaded before WordPress 6.0, which didn't record it
UploadedThe date the file was uploaded
URLThe file's address, with a button to copy it

To change the title, alt text or caption, edit the field and press Return or click elsewhere. Quill saves it to WordPress straight away and shows Saved beside the field's name. If the save fails, it shows Not saved with the reason under the field, and your text stays in the field so you can try again. To back out of an edit, press Esc: the field goes back to what was last saved, and nothing is sent. If a save is already under way when you press Esc, the field keeps the text being saved.

Changing the title doesn't rename the file or change its address; WordPress can't rename a file once it's uploaded. While you're searching the library, an item whose new title or caption no longer matches the search drops out of the results. A new caption or alt text is used the next time you insert the image. Posts that already use the image keep the caption and alt text they were given.

Uploading

Choose Upload Media… from the + menu, or File → New Media… (⌥⌘N) from anywhere in Quill. Pick a file in the window that opens. You can upload images, PDFs, Word, Excel and PowerPoint files, and plain-text files such as .txt and .csv. Video and audio files can't be uploaded from Quill; upload them in WordPress and they'll appear here.

The new item appears at the top of the grid, already selected. If the current filter wouldn't show it, for example a PDF uploaded while Images is selected, Quill switches to All Media so it's still in view. If a search is active, Quill clears it for the same reason.

HEIC photos are converted to JPEG before they're uploaded. WordPress accepts HEIC files but can't make thumbnails or other sizes from them, so an unconverted HEIC would sit in your library with no dimensions and no smaller versions. The conversion happens on your Mac, keeps the photo's full resolution and orientation, and leaves your original file alone. It applies to every way of uploading: the Media section, the image picker, the gallery picker and dragging onto the editor. Other formats, such as JPEG, PNG, GIF, WebP and PDF, are uploaded as they are.

Deleting Media

Right-click an item and choose Delete. Quill asks you to confirm first.

Deleting media is permanent. WordPress has no trash for media, so a deleted file can't be recovered.

AI Writing Features

Quill can use Anthropic's Claude API to write posts, rewrite selected text and review your writing. These features are off until you add your own Anthropic API key, and Anthropic bills you directly for what you use.

Setting Up

  1. Create an API key at platform.claude.com/settings/keys.
  2. Choose Quill → Settings (⌘,) and find the AI Writing section.
  3. Paste the key into Anthropic API Key and click Save.

The first time you connect a site, Quill offers to add a key right away. It checks that key with Anthropic before saving it. You can click Skip for Now and add a key here later.

Once a key is saved, the Generate (pencil) and Evaluate (checkmark) buttons appear in the editor toolbar. Settings doesn't test the key on its own, but it uses the key to load the Model menu, including when you click Save, and a key Anthropic doesn't accept shows its error under that menu. Errors from Anthropic say what went wrong, such as a key it didn't accept, its rate limit, or its service being busy. To turn the AI features off, delete the key and click Save.

Model and Reasoning

The Model menu lists every Claude model your API key can use, newest first. Quill loads the list when you open Settings, when you finish typing a key and when you click Save, so a new model appears without a Quill update. The menu stays empty until you enter a key. Until you pick one, Quill uses the newest Claude Haiku, which is fast and inexpensive, and follows it when a newer Haiku comes out. If the model you picked is retired, Quill switches back to that default and tells you.

Reasoning sets how long Claude thinks before it answers. Model default lets the model decide; the other levels are Low, Medium, High, Extra High and Max. Higher levels take more time and cost more; Low is the quickest. The menu lists only the levels the selected model offers. Some older models offer Off, Low, Medium and High and start at Off, and a model that can't reason has only Off. If Claude's reply is cut off before it finishes, the error says so; a lower reasoning level leaves more room for the answer.

Writing Style

Quill can learn how you write from your own posts. In the AI Writing section of Settings, click Choose Posts… and pick up to five posts that sound like you. When you click Save, Quill sends them to Claude with their titles, headings, lists and captions, and Claude writes a style guide of about 500 words. Quill uses that guide whenever it writes, rewrites or reviews for you.

Pick posts on different topics. When most of them share a subject, the guide mistakes the subject for your style.

The guide is rewritten whenever you change which posts you picked. Click Regenerate to rebuild it with the model you have selected now, for example after switching models; the new guide is saved straight away. If Quill can't load your picked posts from WordPress, it keeps the old guide and says so. If you connect Quill to a different WordPress site, your picks are cleared and you'll need to choose again.

Web Search

With Web Search turned on in Settings, Claude can search the web for current information while writing a post, and Evaluate checks your facts. It's on to begin with. Turn it off to work from Claude's own knowledge only, which is faster and costs less. If the selected model can't search the web, the switch can't be changed and says so, and Evaluate's Facts to Check list says to choose another model.

Generating a Post

Click the pencil button in the toolbar. Describe what you want, anything from a topic to a detailed brief, and click Generate (⌘Return). Quill writes a complete post or page with a title and loads it into the editor, and fills in the post's excerpt. With web search on, Claude looks up anything that may have changed, such as prices and versions, and links each fact it found to its source.

Claude writes in your style but doesn't make things up about you: it won't invent your experiences, work or history unless your description mentions them. Opinions come out as judgments about the subject. Add the personal parts yourself.

If the editor already has content, a Replace Content? alert asks you to confirm first, because the new post replaces your title and text, and on a post the excerpt too.

If a long post hits the first length limit before it's finished, a Post was cut off alert appears. Get Full Version asks again with a longer limit, which costs more. Cancel leaves the editor as it was. If the longer attempt is cut off too, the window says the post was too long to finish; try a shorter description.

Evaluating Your Writing

Click the checkmark button in the toolbar to have Claude review the current post or page. It needs at least 100 words; with fewer, the panel asks you to add more. If you open the panel before the post is long enough, an Evaluate button appears once it is; click it to start.

The results open in the inspector on the right, in place of Post Settings. Quill sends two requests at once: one for the review and one, with web search, to check your facts. The review usually arrives first; the fact checks fill in when they're ready.

The panel opens on the review: what works in the post, then the two or three changes that would improve it most, such as the title, the opening or the order of sections. Below it are three lists, each with a count of what it holds, or a spinner while its request is still running. Click one to open it, and click the back arrow to return:

  • Fixes — corrections any copy editor would make: spelling, grammar, punctuation, word choice and inconsistent names or terms, in captions, tables and footnotes too. Each is labeled Spelling, Grammar, Punctuation, Word choice or Consistency, and shows the old text struck through and the new text after it.
  • Ideas — suggestions that are judgment calls: a sentence that's hard to follow, wording that could be shorter, a repeated word, or a passage that drifts from your style. Each is labeled Clarity, Concision, Flow, Repetition, Voice or Structure.
  • Facts to Check — claims worth checking. The list starts with how many claims Claude checked. Each one shows the claim, what's wrong with it, the source's own sentence, and the source's site name, which opens the source in your browser. A source that isn't a web address gets no link. A published post is judged against its publish date. With Web Search off, the list says to turn it on.
  • Click Apply to make a fix or suggestion in the editor. Only the changed words are rewritten, so links and formatting on the rest stay, and ⌘Z undoes it. The finding then reads Applied and is dimmed. Apply All, at the top of Fixes, applies every correction that can still be applied. Apply doesn't work in code view; switch back to the visual editor first.
  • If you've edited the text a finding points at, its Apply button is replaced by Text has changed. If the text appears more than once in the post, it reads Appears more than once; click the finding to find it and make the change yourself.
  • A fact check offers Use Wording when Claude suggested a correction; hover over the button to read it first. Treat fact checks as things to look into: read the source before you change anything.
  • Click a finding to select that sentence in the editor and scroll to it.
  • Click Re-evaluate at the bottom of the panel to run the review again after you've made changes.
  • If one request fails, the other's results still appear, and the lists that depend on the failed one say why. If you've set up a writing style, Claude treats the way you normally write as intentional.

The checkmark button is highlighted while the results are open, and turned off while a review is running. The panel has no close button: click Post Settings in the window toolbar to close the inspector, and click it again to get your settings back.

Rewriting a Selection

Select at least ten characters of text, right-click the selection, and choose one of these:

CommandWhat it does
Make LongerKeeps your sentences and adds new ones that explain the reasoning or give an example, without adding facts or experiences you didn't write. A short passage grows to about four times its length; a long one to about one and a half times
Make ShorterCuts the least important sentences and tightens the rest, keeping your words where it can. A short passage shrinks to about 70% of its length; a long one to about 40%
RephraseMakes the selection read more clearly, with the same meaning and about the same length, keeping your wording where it already works
Fix Spelling & GrammarFixes spelling, grammar and punctuation, and nothing else
Convert to TableTurns the selection into a table
Convert to ListTurns the selection into a bulleted list

Make Longer and Make Shorter keep the same number of paragraphs. They don't add headings or lists, and they don't merge paragraphs. When the selection is in a list or table, every command works on the whole list or table and keeps its items, rows and columns.

Claude sees the rest of the paragraph and the paragraphs on either side, so a rewrite fits where it goes, and a sentence you select stays inside its paragraph. Links, footnote markers and formatting such as bold and italics stay with the words they belong to.

These commands change only the selected text and never use web search. They don't appear inside footnotes.

While Claude works, your selection is dimmed with a ✶ Rewriting… label in front of it. You can keep writing elsewhere in the post in the meantime; the result goes where the selected text is, even if your edits have moved it.

The new text replaces your selection, highlighted, and an Accept / Discard bar appears at the bottom of the editor. Click Accept, press Return or click anywhere else to keep it; ⌘Z then still undoes it. Click Discard or press Esc to put your original text back. Discarding restores only the rewritten passage, so edits you made elsewhere while Claude worked stay. If the rewrite fails or Claude sends back nothing usable, your text stays as it was and a banner above the editor says why.

Only one rewrite runs at a time. If you choose another command before the current one is accepted or discarded, Quill asks you to finish the current rewrite first.

Keyboard Shortcuts

The editor also converts Markdown as you type, such as # for a heading or **bold**. The full list is in Markdown Shortcuts.

App

⌘N
New post
⇧⌘N
New page
⌥⌘N
Upload a file to the media library
⌘,
Settings
⌘R
Refresh the current section and the open post or page
↩︎
Choose the highlighted button in an alert
Esc
Close an alert or sheet without doing anything

Saving

⌘S
Save: on your Mac for a local draft, to WordPress for anything else
⇧⌘P
Publish, using the current status (same as the publish button)

Editing

⌘Z
Undo
⇧⌘Z
Redo
⌘B
Bold
⌘I
Italic
⌘U
Underline (no toolbar button)
⇧⌘S
Strikethrough
⌘E
Inline code
⌥⌘0
Paragraph
⌥⌘1 to ⌥⌘6
Heading 1 to Heading 6
⇧⌘8
Bulleted list
⇧⌘7
Numbered list
⇧⌘B
Quote
⌥⌘C
Code block
Tab
Insert a tab in a code block or Preformatted. In a list, indent the item (⇧Tab outdents it)
⇧↩︎
Line break without starting a new paragraph
↩︎
Edit the selected gallery
⌘↩︎
Insert or save, in the Custom HTML window
⇧⌘V
Paste as Markdown
⌘F
Find and replace
Esc
Move out of the block the cursor is in
⇧⌘⌫
Delete the block the cursor is in
⌃⌘↑
Move the block up
⌃⌘↓
Move the block down

Find and Replace

↩︎
Next match
⇧↩︎
Previous match
Esc
Close the find bar

Tables

Tab
Next cell (adds a row from the last cell)
⇧Tab
Previous cell

Media Library

←→↑↓
Move the selection
Space
Open or close the large preview
Esc
Close the preview, or undo an unsaved edit in a details field

AI

⌘↩︎
Generate, in the Generate Content window
↩︎
Accept an AI rewrite
Esc
Discard an AI rewrite

Limitations and Compatibility

WordPress.com

Quill works only with self-hosted WordPress. WordPress.com sites aren't supported.

One Site at a Time

Quill connects to one WordPress site. To switch to another, change the credentials in Settings. Quill keeps the open post's unsaved changes before it switches.

Autosaved changes belong to the site they were made on, and come back only when you connect to that site again. Local drafts aren't tied to a site: the Drafts section shows the same drafts for every site, and a draft is published to whichever site is connected.

When Quill Can't Keep Something

Each time Quill opens a post, and each time you leave code view, it checks that every block in the post is still there in the editor. If any are missing, a red banner at the top of the editor names them, and saving and previewing are blocked until you respond. Saving at that point would write the shortened post over the real one, and so would previewing a draft.

When you see the banner:

  1. Check which blocks it names.
  2. If you need them, don't save. Nothing has been written yet. Close the post and edit it in the WordPress editor instead.
  3. To fix it in Quill, open code view (</>) and paste the missing block's markup back in. When you leave code view, the banner goes away and you can save again.
  4. If you don't mind losing them, click Save anyway, I understand and save. Afterwards, the banner tells you what was removed and reminds you that WordPress's revision history still has the earlier version.

If you open a post like this and don't edit it, saving and previewing are never blocked. Quill sends the original content back unchanged, so nothing can be lost. Once you've saved a post with missing blocks, reopening it shows no banner, because the blocks are no longer in the saved post.

You should rarely see this banner. Quill normally keeps blocks it can't edit exactly as they were (see below).

Block Editor Compatibility

Quill saves posts in the same block format as the WordPress editor for everything it can edit: paragraphs, headings, lists, quotes, code blocks, separators, images, galleries, tables, embeds, footnotes, links, Custom HTML, and the container blocks (Columns, Details, Buttons, Accordion, Tabs, Group, Pullquote and Preformatted). A post written in Quill opens in the WordPress editor as separate blocks, and you can go back and forth between the two.

Settings you chose in WordPress are kept. A color, a font size, a border radius, a block style, a link that opens in a new tab, a table's fixed layout: Quill keeps all of these through an edit even when it has no control for them, and saves them back the way WordPress wrote them.

Groups. A Group, Row, Stack or Grid opens for editing when everything inside it is something Quill can edit, such as headings, paragraphs, lists, images and buttons. Most patterns are built this way. It's outlined in the editor with a small label above it: its type, Group, Row, Stack or Grid, followed by the name you gave it in List View if it has one. Its colors, spacing and layout aren't drawn in Quill but are kept exactly as they were. A Group that holds anything Quill can't edit, such as a Spacer or a Cover, stays a single card. So does any block around it, such as the Columns it sits in.

Blocks Quill can't edit, including Audio, Video, Playlist, Cover, Media & Text, Spacer, shortcodes and plugin blocks, appear in the editor as one-line cards showing the block's name and the note "Edit in Code View (</>)". You can move or delete a card and edit the rest of the post freely; the block is saved back to WordPress exactly as it arrived. To change what's inside one, use code view or the WordPress editor.

Synced patterns. A synced pattern is shared across posts, so Quill doesn't edit it inside a post. Its card shows the pattern's title, fetched from your site, and an Edit in WordPress button that opens the pattern in the WordPress editor. The button opens it in your browser. While the title loads, or if it can't be loaded, the card shows the pattern's number instead. If the pattern isn't published, has a password, or has been deleted, your site won't show it, so the card says "not found" and has no button. The post always keeps its link to the pattern unchanged.

Classic posts are converted when you edit them. A post written before the block editor existed has no blocks. If you open one and save without changing anything, it's left alone. Once you make an edit, Quill converts it to blocks, the same way WordPress's "Convert to blocks" does. Paragraphs, headings and lists become normal blocks. Other HTML, such as a <div> with a class or an <iframe>, is kept as a Custom HTML block with its markup intact. A plain <div> with no class, ID or style is removed and its paragraphs become normal paragraphs.

What Quill Doesn't Do

These stay in the WordPress admin:

  • Themes and site customization
  • Plugins
  • Comment moderation
  • Users and roles
  • Revision history
  • Image editing, such as cropping or rotating