| Show the flow | Top of the F menu, or show it now: the problem-solving flow from the start page, to see which frame fits where you're stuck. Click a frame to start it; Esc or a click outside closes it. A document with no frames opens on it. Pinch, ⌘+ / ⌘−, the zoom buttons or the trackpad zoom it; drag the paper to move it; Fit (or a double-tap) puts it back |
| F · pick a type | New frame, listed in problem-solving order (1 Goal Tree … 8 Strategy & Tactic Tree; Notes apart): a dashed outline of the frame follows the pointer (on touch it shows when your finger goes down) and a "Placing …" label sits at the top; click or tap to drop it where the outline is, drag to size it, or Enter to place it next to the others · Esc or ✕ on the label cancels |
| Instructions for your AI | Download the instructions (.md) and give the file to your AI (ChatGPT, Claude …), then ask it for a tree. It writes the trees in a plain-text format; open its .md file (⌘O; on a phone, from Files) or paste its reply: ⌘V on the canvas builds the frames where you paste, inside a frame of the same type it adds to that frame; ☰ → Paste from AI on a phone. The app lays every frame out itself; a short report lists any line it couldn't use. Boxes the AI inferred carry "? check this": right-click to remove the mark once checked. ⌘Z undoes the whole paste |
| Old names | IO Map → Goal Tree (GT) · Evaporating Cloud → Conflict Resolution Diagram (CRD) · Prerequisite Tree → Implementation Tree (IT). Files made before the rename open with the new names; search still finds the old ones |
| Double-click · U + double-click | New entity · new UDE, in empty frame space |
| Right-click | Everything you can do with what you clicked: a box, an arrow, a frame or the canvas |
| Hover a box | + handles: bottom cause, top effect, sides sibling |
| P · A · M · O | Parallel · AND · MAG · exclusive OR: dial, held while dragging, ⌥ shortcuts |
| Click / drag a side + | Sibling (the dial asks which junction). Drag to place it, or onto a box |
| Click top / bottom + | New effect above / new cause below |
| Drag top + across arrows | Picks the arrows crossed; let go in empty space, then choose the junction |
| Drag top + onto a box | Parallel arrow into that box |
| Reinforcing loop | Drag the top + of a box onto a lower box it already leads up to. It is drawn around the outside and can join an AND like any arrow |
| Tab · ⇧Tab · ⇧Enter | New cause · new effect · new sibling (dial) |
| ⌥P ⌥A ⌥M ⌥O | New sibling with that junction, no dial |
| Drag a box · ⌘-click · drag on empty | Move · add to selection · select an area |
| U · Enter · Esc | Entity↔UDE · edit or finish · cancel (Esc puts the box back as it was) |
| Click a junction | Change it |
| R · C · B | Root cause · critical root cause (CRC, light green) · boundary, on a box with nothing below it |
| % · click (33%) | Set a MAG arrow's share; the MAG always totals 100% |
| Right-click an arrow | Change arrow: point it at another box, or start it from another box (click the box; Esc cancels) · Insert a box here (cause → new box → effect) · junction · delete. On a Conflict Resolution Diagram, right-click an injection or its arrow to change which arrow of the CRD it breaks |
| Insert box above · below | Right-click a box in a Current or Future Reality Tree: a new box between it and every box it points to (above), or every box feeding it (below). AND, MAG and OR junctions stay on the arrows it takes over; one ⌘Z undoes it |
| ⇧F10 · ↑ ↓ · Enter | The right-click menu of what is selected, from the keyboard |
| Conflict Resolution Diagram (CRD) | Click a box and type, or Tab / ⇧Tab through O, R1, R2, P1, P2. Hover an arrow for its + to add an assumption; mark it valid, invalid or not sure. An invalid one: Create injection (ideas, then the check) or Think it through on a Decision Map. Typing in a box offers boxes of the other trees to pick (Tab); ⌖ picks one on the canvas |
| Decision Map · Ideation | An objective (“What is the best way to…?”), its options and the constraints every option must meet, each linked by “Provided that I/we can” (Kopeikina); Enter at the end of a line opens the next one. Drag an option or a constraint up or down to change the order (on a phone: press and hold, then drag); a chosen option is tinted green. Copy as text reads the decision as one sentence. Ideation: double-click the board for a post-it, spark cards to get going, dots to vote; voted ideas become the map's options. From a CRT root cause (right-click): Generate ideas and vote (an Ideation frame alone, you write the question) or Generate ideas guided by a Decision Map; + Decision Map in an Ideation frame's header adds a map beside it later. Right-click a note: Start CRD with this as P1 (P2 is the root cause the ideas came from) or Start FRT from this note |
| D / I + double-click | In a Future Reality Tree: new desired effect · new injection. D, I or U on a selected box switches its kind. Right-click a root cause, a CRD injection or a chosen Decision Map option: Start FRT from these |
| N | In a Future Reality Tree: flag the selected box with a ⚠ (a possible negative branch). Right-click a flagged box: Develop negative branch, a dashed region ending in an [UNDESIRABLE OUTCOME]. Right-click an arrow inside it: Trim here, which asks for its assumptions and opens the create-injection pop-up; the arrow gets a ✂ and the branch goes grey, with Fold / Unfold. Remove the trim takes its trimming injection with it; right-click a box of the branch: Remove negative branch. |
| Checks | In a Future Reality Tree: quiet counts in the frame header (desired effects not reached, UDEs without a desired effect, negative branches not trimmed, boxes that lead nowhere, future tense, CRD requirements not in the tree, ⚠ flagged, no Goal Tree in this system); a click selects the boxes counted. The Checks button hides only the marks the app puts on boxes ("not reached yet", the amber outline); your ⚠ and the counts always show. Nothing prints or copies. Once every desired effect is reached, "Goal Tree: n to check" lists the goals no UDE was measured against. |
| Loops & tools | In a Future Reality Tree: drag the + on top of a desired effect down onto a box it already leads up to, and the arrow becomes a Positive Reinforcing Loop. Once every desired effect is reached the header asks "Can a desired effect strengthen something below it?"; a loop into a box that has another separate cause gets a note asking whether you would know it is the loop that strengthens it. Trace works as in the CRT; Break Preview reads "If this fails…" (which desired effects fail); W shows the single points of failure (how many desired effects depend on each box). There is no Potential CRC and no root-cause marks here. Right-click one or more injections: Start Implementation Tree from these. |
| Implementation Tree (IT) | One objective per Implementation Tree, riding the frame's top edge (Start Implementation Tree from an injection, or F then I). Read it from the top down: in order to have the box above, we must do the step below. Tab · ⇧Tab · ⇧Enter = step below · step above · sibling; double-click = a loose step (not connected), drag its top + onto a box to connect it. Right-click a step: Insert step above / below, Delete (the chain closes up). Drag a step onto an arrow to move it there; only the dragged box moves |
| Obstacles · milestones (IT) | Right-click a step → Add obstacle: an octagon in front of the step it blocks, not yet overcome. Right-click the obstacle → Add the step that overcomes this, or drag it onto a step below: it tucks behind that step. Click an obstacle to see what it blocks. Right-click a step → ◆ Mark as milestone: something achieved; it takes no time |
| Times (IT) | The Times tool (clock icon) in the Implementation Tree's title bar: a time chip on each step (click it, type working days, Enter; empty clears it), the total ("Done in 23 working days") and the critical chain in blue, the longest chain, which sets the finish. Steps in a row add up; tracks side by side take as long as the longest. Milestones take 0 d. Estimates, not a plan: no buffers, no dates. Off = the tree as Dettmer draws it; the times are kept |
| Export ▾ (IT) | The share icon in the Implementation Tree's title bar: MS Project XML (MS Project, ProjectLibre, GanttProject, OmniPlan) or CSV (Excel, Google Sheets, most planners): the steps in order with their time and what each comes after; milestones and the objective as 0-day milestones; obstacles and loose steps left out. The planner works out the dates |
| Same as… (IT) | A step two injections both need goes in both Implementation Trees: right-click it → Same as… → search for, or click, the same step in the other one. The two share their words (change either, both change). Both show a "Same as" tag; × unlinks and the words stay |
| Link to an injection… (IT) | An Implementation Tree already on the canvas can follow an injection too: right-click (long-press) its objective → Link to an injection… → search for, or click, a CRD's injection, an FRT injection box or a Decision Map option. The objective takes its words and stays in step with them, as with Start Implementation Tree (words you typed are replaced; ⌘Z undoes). An injection that already has an Implementation Tree offers "Go to IT-A" instead. The same menu then offers Unlink; the words stay |
| Checks (IT) | Quiet counts in the Implementation Tree's header, never blocking: obstacles not yet overcome, steps not connected, an obstacle worded might / may / could / risk of ("sounds like a possible risk, not an obstacle": an obstacle exists now and would stop the step). Click one to select the boxes. Trace (T) works in an Implementation Tree; Break Preview does not (it reads arrows as if–then) |
| Step · Need · Rationale (IT) | Explain a step when you need to (Dettmer's Transition Tree reading): right-click a step, or several → Show need: Need · the step · Existing reality in one row, joined into what is above. Show rationale adds Expected effect (what the step achieves) and Rationale (why that isn't enough) over the step, which feed the next step's Need. The step box stays where it is; the steps around make room and go back when you collapse it. Collapse shows the step alone and keeps its words. The Step · Need · Rationale switch in the Implementation Tree's title bar sets every step. Tab / Enter move through a step's boxes in reading order. Milestones and obstacles don't expand |
| Bottom-up · Brain dump (IT) | Build from the bottom if you like: a step made or moved where it would hit the objective or the frame's top edge never moves itself; the objective (with the tree under it) and the frame's top edge go up instead, and Insert step above keeps the step put and lifts what is above it. Brain dump (the pen icon in the header, right-click empty Implementation Tree space, or J): type a step, Enter or Tab for the next box beside it, four to a row; each is a step not connected yet, to drag into the chain later. Esc, Enter on an empty box, or a click on empty canvas ends it |
| Strategy & Tactic Tree (S&T) | Goldratt's tree, built level by level, left to right (F then S). Each step: number (worked out by itself: 1, 2.1, 3.1.1 …), an optional label in capitals, and five parts: Necessary Assumptions · Strategy · Parallel Assumptions · Tactic · Sufficiency Assumptions. Type in a step: Tab / Enter go to the next part; after the last one Tab = a step below, ⇧Enter = a step beside it, Enter = done. Double-click = a step not connected. One step above each step; drag a step under another; Delete moves its steps up, right-click → Delete branch removes them too |
| Compact · Full · Fold · levels (S&T) | Compact · Full in the header: every step shows Strategy and Tactic only, or all five parts (neither is lit when steps differ); right-click a step (long-press on a touch screen) → Show full / Show compact for that step alone; the switch at the left edge of a level does it for that row. Fold: ▾ under a step hides the steps under it and shows "▸ n steps" (click to unfold; also right-click → Fold). Show down to level ▾ in the header hides every level below the one you pick, for presenting. Hidden steps stay in the tree: checks and Copy as text still count them |
| Checks (S&T) | Quiet counts in the header, never blocking: steps with only one step under it (Goldratt: a lone step under a step just rewords it), steps with assumptions not filled in (Necessary and Parallel on every step, Sufficiency on a step with steps under it), steps not connected. Click one to select the steps; folded ones open |
| Same as… (S&T) | Work that serves two branches goes in each: right-click the step → Same as… → search for, or click, the same step in the other branch (or in another S&T). The two share their Strategy and Tactic (change either, both change); each keeps its own assumptions. Both show a "Same as" tag; × unlinks and the words stay. Not on its own branch, not for Level 1. Copy as text (☰ or the frame's menu) gives the tree as an outline by number with every part named |
| Links · ← tags · × | A box made from another one, or picked from it, shows where it comes from (← CRT-A 104, ← CRD-A Injection 1, ← DM-A Option 2) and shares its words: change them in any of the linked places (an idea note, the map option, the injection, the FRT box, the Implementation Tree's objective) and they all change at once; ⌘Z undoes it in one step. × on a tag or a frame chip removes the link and keeps the words. One exception: a box carried into an FRT from its CRT is its future version, so rewording it there leaves the CRT as it is. When a linked frame is deleted, the tags read "(deleted)" and the words stay. |
| ↗ Link to… · systems | The chain in a tree's title bar (↗ chip once linked) links it to any other frame: Goal Trees are listed first (then choose the whole map or one of its periods), then every other frame; type a name or code, or click a frame on the canvas. A frame started from another one (Start CRD / FRT / Implementation Tree, Generate ideas, + Decision Map, Start CRD with this as P1, …) is linked to it by itself, and takes its Goal Tree link too. A system is every frame joined by links, either way, with or without a Goal Tree: select a frame to see it (dotted lines along the links, the rest dimmed); boxes are picked from the trees of its system, and a Goal Tree in it supplies the periods. The chip names the Goal Tree when there is one, else the first frame (+1 for more); its pop-up lists every link, either way, with Go to and Unlink; × on the chip removes the one it names (⌘Z undoes) |
| Notes · post-its: size, colour, connections | Select a note (Notes frame) or a post-it (Ideation): its bar has six colours beside the bin, and its corner handle resizes it (the words wrap, the font stays, it never gets smaller than its words). In a Notes frame, drag a note's + onto another note to connect them with a curved arrow (click a + for a new connected note). Click near an end of a connection to put that end's arrow head on or off; click the line to select it: solid or dashed, or the bin. A new connection takes the style you last changed in this document. ⌘Z undoes each step |
| Click empty frame space or its title | Select the frame: lock, hide or delete it. Double-click the title to rename |
| ⌘S · ⇧⌘S · ⌘O | Save: the first time it asks where; after that it replaces that file (Chrome and Edge; Safari and phones download a copy each time) · Save as a new file · open a file. Files end in .think; Open also reads the older .tree files (saving one again makes a .think file and leaves the old one as it was). Nothing is stored in the browser |
| X · Break Preview | Toggle: hover a box to see what falls if it is no longer true; click to keep it, ⌘/Shift-click to add more |
| Right-click a frame | Mark every unmarked leaf box as a root cause in one go. Hover a root cause to see how many top UDEs fall if it breaks |
| T · Trace | Toggle: hover a box to light up everything below and above it; select a box to keep it lit |
| ⚡ Potential CRC | Toggle: the smallest group of root causes that brings down every UDE, one option at a time, with the path it falls along. Everything highlighted must be fixed together. ‹ › on the bar shows other options of the same size; Skip sets one aside to see what's next (not saved); mark it B (boundary) if it truly can't be changed |
| ☰ · Copy as text | The tree as numbered statements and If–then lines, to paste to an AI for review (right-click a frame for just that frame) |
| ⌘K · search | Find frames, boxes, numbers (old ones too). Empty search lists every frame; Enter jumps there |
| Numbers | Each box gets working numbers when it is made; they never change by themselves, even if the tree is rearranged. Each tree frame has its own hundred. Press # (Renumber) when the tree is final to put them in Dettmer's order |
| Frame header icons · ⋯ | The common actions in a frame's title bar are icons: hover for the name (on a phone, press and hold). A chain links the frame (to any other frame, or an Ideation frame to a Decision Map); the bulb makes ideas for a Decision Map. When the title bar would run past the edge of the screen (a phone, a narrow window), what doesn't fit goes into ⋯; tap it for the rest |
| # · Wand (tree header) · ⊠ | Renumber · auto-arrange a tree from its header · clear a frame from its own toolbar (select the frame) |
| Goal Tree: Tab · ⌥Tab · ⇧Tab | One section down (Goal → CSF → NC; NC stays NC) · same section (a CSF that feeds a CSF) · above. Double-click in a section, or drop a +, to put a box there |
| Goal Tree: drag a box | It stops at the dashed line; push on and it goes through into the next section. One Goal only. An arrow that would point down is removed (⌘Z undoes) |
| Group (Goal Tree) | Labelled areas behind boxes, for reading only: arrows and checks ignore them. Click the Group tool in the frame's title bar and drag a rectangle: boxes whose centre is inside light up (orange if they come from another group); let go and type the group's name. A box is in one group. Drag a group's edge or corner to take boxes in or out. Drag its label to move its boxes together; each box stays in its section. Click the label to rename it; right-click a box to add it to a group or remove it, and right-click the label to ungroup |
| Statements over time (Goal Tree) | Outside time mode, a box's text is its general statement, true for the whole horizon. In time mode, editing a box writes its statement for the period on show (and the periods inside it), tightening the general one: a subset, a stage or a specific form, still a condition rather than a task. A box with a period statement carries a tag naming its period; point at the tag for the Statement over time, and × to remove that period's statement. While you write, what it refines is pinned above the box. Hold G to see every box's general statement; let go to come back |
| System (Goal Tree) | The card at the top left of every Goal Tree names the system the map is about. Click it to give the system a name and, if useful, its scope in one line. Its boundary is optional, behind "Boundary ▸": Sphere of control, inside Sphere of influence, inside Outside our control and influence. List only the borderline items people might disagree about; + Add, Enter to add the next, × to remove |
| Clock · Time mode (Goal Tree) | The clock in the Goal Tree's title bar turns into a slider. A map starts open-ended: one pill from this year to ∞. Drag the handle to move through time: it follows the cursor, the period under it shows straight away, and letting go away from the slider puts it back. ⌄ under the handle goes a level down (years, quarters …), ⌃ above it a level up; scrolling does the same. To change the periods, click ✎ at the right end: the slider becomes a year ruler. Point between two years and click the + on the dotted line to split there; drag a divider to move it; to remove it, point at it and click its × (or drag it off the ruler); drag ∞ onto a year to end the plan there; drag the start year left onto the greyed years for an earlier start. Click ✓ when done. The clock leaves time mode. The period's constraint is the card at the top right of the map: click it to name or change it |
| Metrics · targets | In time mode, point at a box and click the + on its bottom edge: type the Metric name, Tab, type the target, Enter. Click a name to rename it, a target to change it (a Yes / no target ticks on and off), and the icon to switch the type: ↗ Level → Σ Total → ✓ Yes / no. The × at the end of a line removes it. The box's ◎ button (or right-click) opens all of its metrics, gaps and marks; its ◂ and ▸ add the period before or after as a column, so you can see and edit their targets side by side. An empty period shows the next target that applies in grey. Tick "Gap" to mark a gap to close in that period |
| ⛓ Constraint · ◎ Exploit · ▲ Elevate | Per period: ⛓ Constraint on the slider names what limits the system (or tick it on a box that is the constraint). Point at a box for its chips: Gap (not meeting this period's standard yet), ◎ Exploit (close the gap by using the constraint better) and ▲ Elevate (close it by growing the constraint). ◎ and ▲ turn the gap on; turning the gap off clears them; click an active chip again to clear it. Unmarked boxes hold their level. Link a tree to the period on show from the chain icon (↗ chip once linked) in its header |
| Phone · tablet | Pinch to zoom · two fingers to pan · Double-tap empty frame space for a new box · tap a box for its + · Long-press for the menu |
| Space-drag · scroll | Pan · pinch or ⌘-scroll to zoom · click the zoom level (or ⇧0) for 100 % |
| ⌘+ · ⌘− · ⌘0 | Zoom the canvas in / out about the middle of the view, as the zoom buttons do (⌘+ / ⌘−) · ⌘0 fits every frame on screen, as Fit does · ⇧0 for 100 % · Ctrl instead of ⌘ on Windows · not while you are typing in a box, a title or a field, where the browser keeps them |