# Working with Penny

> Build graphs, create custom nodes, and make content with Penny. Choose the right context, manage conversations, and distinguish changes from completed results.

Source: https://kaitoi.io/docs/studio/penny/
Section: Kaitoi Studio / Penny
Written for: Anyone creating, editing, or troubleshooting work with Penny in Studio.
Last reviewed: 2026-10-24

---

Penny is Studio's assistant for creating and changing work. Ask it to build a
graph, create a custom node on the fly, edit an existing node, explain a result,
or investigate an error. In Lab, Penny is the main way to create content on the
canvas through available Skills. Its role extends across Studio's graph,
canvas, and supported media tools.

## Choose the job and its context


**Build a graph:** identify the current project, relevant nodes, inputs, and
desired outputs. Ask Penny to connect the workflow and state whether it may
run. **Create a node:** describe the node's inputs, controls, and outputs, plus
what should happen when an input is missing. Creating its code and interface
does not prove that it runs. **Create in Lab:** mention the exact canvas
reference and describe the media and layout you want. Available Skills provide
the actions Penny can use.

The examples use authored kite artwork and a fictional reference mention.
They illustrate requests, not actual Studio panels or executed work. These
controls send no message and create no graph, node, or media.

*Figure: Compare briefing Penny to build a graph, create a custom node, or create content in Lab.*

## Open Penny and write a brief

On desktop, use **Assistant** in the graph toolbar to open general Penny. Use
the assistant's **Toggle chat** control to expand or collapse its conversation.
In **Lab**, use the Penny chat beside the canvas. Controls and available tools
vary by surface, account capabilities, and connected services.

Include the outcome, reference material, constraints, and permitted actions.
For example:

> Build a workflow that uses my reference to make a square product image and a
> short caption. Keep the logo unchanged and expose the background color as a
> control. Do not run any nodes yet. Show me what changed, which steps may spend
> credits, and what is still untested.

Specify aspect ratio, duration, resolution, format, and number of variations
when they matter. Say what must remain unchanged and how you will judge the
result. Check that those requirements became actual settings or controls.

Use **Send** or Enter to submit; Shift+Enter adds a new line. Review your brief
before sending: Penny can act through tools as well as reply in text.

## Target graph edits precisely

Open the intended project and select the relevant nodes before saying “this
node.” Name the node and the exact change as well: “Change the selected crop
node's inset control; keep its connections.” For a large selection, describe
the intended group explicitly rather than assuming every selected node is
equally represented in Penny's initial context.

When you want a custom node, describe **inputs**, **editable controls**,
**outputs**, and failure behavior. Ask whether Penny should edit the existing
node or create a separate one. Review the interface, connections, and any
generated-source warnings, then test a small example. A saved script or a
successful validation is not evidence that the node produced usable media.

Custom-code editing and integrations depend on your account's capabilities
and the tools exposed on that surface. A phone's assistant does not expose
every desktop code-editing tool.

## Reference material in Lab

Use **@** in Lab's composer to choose the exact canvas item or board you mean.
You can also select canvas items and use **Mention Selected** from the
composer's context menu. A selected item and an inserted mention are different
things; check the mention chips in your message.

Describe what to do with the reference: preserve its subject, use its palette,
rewrite its text, or arrange alternatives around it. Say how many outputs you
want and what should appear on the canvas. Use the Skill browser to review
available actions; see [Skills](/docs/studio/skills/) and
[Creating content in Lab](/docs/studio/lab/) for that workflow.

## Attach an image to general Penny

The general composer offers **Attach image** and image pasting. Its image
attachment control accepts PNG, JPEG, GIF, and WebP, up to **20 MB per image**.
For visual analysis of an SVG, convert it to PNG; the image attachment control
does not accept SVG as a raster reference. Actual image handling also depends
on the selected model.

Attaching an image supplies conversation context. It does not by itself add a
loader node, copy the image to Files, or create a Lab canvas item. State where
the reference should be used.

## Choose Penny's model

Use the model picker in the relevant Penny composer. General Penny's offered
models depend on the catalog, provider configuration, and your account. When
using OpenRouter, its configuration link opens **Settings → Integrations** to
manage the offered list.

Lab has its own model picker and offered list. Check the model on the surface
you are about to use; changing general Penny's choice is not a promise that
Lab changed too. The assistant model and the model configured inside a node or
Skill serve different roles. Inspect the execution settings for the work you
intend to run. See [Providers and models](/docs/integrations/providers/).

## Keep conversations organized

General Penny's conversation picker belongs to the active project. Use **New
Conversation** for another thread, and the conversation menu to rename,
duplicate, or delete threads. Creating or duplicating a general Penny
conversation does not make an independent copy of the graph.

Lab has a separate conversation picker with its own canvas work. Check which
conversation is active before referring to earlier messages or items. A new
thread is not a guarantee that every earlier instruction or reference has
carried across. Restate critical requirements when changing threads.

Keep the project saved with the intended conversation-inclusion setting; see
[Projects](/docs/concepts/projects/) and
[Saving and recovery](/docs/studio/saving-and-recovery/). Do not treat chat
history as a separate backup of generated media.

## Reuse instructions deliberately

Activate a [Playbook](/docs/studio/playbooks/) for recurring instructions such
as brand voice, review criteria, or a prompting method. The **Playbooks**
picker applies your selection to that conversation. Penny does not choose a
Playbook for you.

A Playbook supplies instructions. A Skill provides an available action that
Penny can use in Lab. Neither guarantees that a run succeeded or that its
content meets your brief. Optional **Personalize Penny** preferences can be
edited or disabled in **Settings → General**; they do not replace task-specific
requirements.

## Separate building from execution


The independent examples distinguish three outcomes. **Workflow built** means
the workflow changed but was not run; there is no new generated image.
**Execution failed** means a workflow can remain saved even though the
attempt failed; do not describe its missing final image as completed.
**Execution completed** means the example produced an image for inspection;
it does not prove that the image satisfies the brief.

Artwork and statuses are illustrative, not real execution evidence. These
controls run no tools and incur no provider usage.

*Figure: Compare a built workflow, a failed execution, and a completed execution whose output still needs inspection.*

Read the tool activity and final message together. Ask Penny to distinguish
what it **changed**, what actually **ran**, any **reused result**, and what
remains **unverified**. Inspect changed nodes and the actual output. Pay
attention to warnings about unfinished code, placeholder behavior, or fallback
content before using the result in important work.

## Set an execution boundary and check spend

If you only want construction, say **“Build only; do not run nodes.”** When you
want a test, identify the specific step and smallest useful inputs. Ask for a
run estimate before expensive media work. Unknown or partially priced work is
not free, and an estimate is not a final charge or a spending cap.

Building a workflow can still use a paid assistant model. Assistant replies,
tool executions, and media providers can have separate usage. Use
[Project Spend and billing records](/docs/reference/credits/) to check actual
charges, including after a failed or stopped request. A budget stated in a
message is an instruction to Penny, not an account-enforced limit.

## Answer questions and stop deliberately

Penny can present a question card when it needs a choice. Read its options and
submit your answer, or cancel if offered. A question card is not a guarantee
that every graph change or paid action will request confirmation. Specify the
execution boundary in the brief.

Use **Stop Agent** in general Penny or **Stop** in Lab to stop the current
assistant request. Lab also offers cancellation for an individual active
Skill when available. Check the activity's final status; stopping a reply does
not undo completed edits, remove created media, or reverse incurred charges.
For graph work already started, inspect the graph's run state and use its run
controls as needed; see [Runs](/docs/concepts/runs/).

## Recover from an error

Keep the error text and identify the relevant node, Skill, reference, and last
successful result. Ask Penny to diagnose that specific failure before rerunning
the whole workflow. A retry may repeat tool or provider work. Check which
results already exist and whether a reference, connection, capability, or
provider setting needs fixing first.

If Penny is still working, stop the current request before sending another.
If it reaches a turn limit, review the changes already made and continue with
a specific next step instead of assuming the task is complete.
