1667write in the terminal
newthe tree: every take you wrote, still there

Write your novel
in the terminal.

1667 asks a model for the next paragraph, then keeps every take it gives you side by side on a tree you can walk back through. Your keys, your endpoint, your files on your disk. No analytics, no telemetry, no account anywhere in the source.

pre-release · no tagged release yetBuilding from source is the supported path today.

git clone https://github.com/1667-ai/1667.git
cd 1667 && npm ci
cd tui && bun install --frozen-lockfile && bun start

Needs Bun 1.3.14 or later, and Node 22. Works today.

  • macOS · Linux
  • no account
  • no telemetry
  • Apache-2.0
1667 · the lantern keeperwrite · ¶12
                        Upstairs, one of the five lanterns went dark without spending its oil.                
                                                                                                              
                        » summarize the story so far                                                          
                        Maren keeps the last lit lantern-house on the Sorrow Cliff road. A                    
                        three-day storm has closed the pass; the inn below is full of stranded                
                        travelers. One guest, calling himself Ashe, paid for oil he never burns               
                        and carries a compass that points at want, not north.                                 
                                                                                                              
                        ────────────── CHAPTER THREE · The Compass · parts 11–13 ───────────────              
                                                                                                              
                        » make the traveler's money feel wrong                                                
                     ×2 Maren counted the lanterns twice before answering. Four lit, one dark,                
                        and the dark one was the traveler's — though he had paid for oil like                 
                        everyone else, and paid in coin so old the mint had no name for it.                   
                        'You'll want the corner room,' she said. 'It keeps its heat, and it                   
                        keeps its opinions to itself.'                                                        
                                                                                                              
                        » the compass does something that unsettles maren                                     
      ¶ 12  take 3/5  He did not move toward the stairs. Instead he set the brass compass on                
                   the bar between them, and its needle went around twice, slow, like a dog              
 ␠ continue   direct   deciding whether to lie down, and stopped pointing at Maren. 'Has the                 
 r retake    R reprompt cliff road ever been walked at night without a light?' he asked. 'Not by              
 w write     e edit     anyone who came back,' she said. The needle shivered and held.                        
                                                                                                              
                        » continue                                                                            
               writing Outside, the storm leaned on the shutters like a patient animal. Maren                
              esc stops wiped the same glass she had already wiped, watching the                             
                                                                                                              
                          space continues · enter directs · n new story · m map · ? keys                     
 NAV   the lantern keeper ·  canon-storm · part 12/13 · take 3/5 · 307 words    qwen3-32b · local ✓ · v0.1.0 

Every terminal on this page is real output, captured from the program's demo mode.

What it is

It drafts. You decide what stays.

You move through a manuscript, and the model writes a paragraph when you ask it to. Then it stops and waits for you.

  • Ask again, keep both

    Ask for another version of a paragraph and the one you were reading stays where it is. The new take sits beside it, and ← and → flip between them. Every take you generate stays on the tree, and d is the only thing that removes one.

  • The shape is a tree

    A story is a tree of parts and takes. The story line is the path you have selected through it. Branches you walked away from are still there, and still yours to come back to.

  • It lives in a folder

    Stories sit in a directory you chose. Export writes Markdown next to them. There is no server to sign in to and nothing to migrate off later.

The tree

Every draft you didn't keep, still there.

Ask for another take and the one you were reading does not go anywhere. It becomes a sibling. Press m and the shape of the whole thing opens up: the line you are on, the forks you made, and the paragraphs you wrote once and walked away from.

Three views, cycled with the same key. Nothing is archived, nothing is pruned on your behalf, and d is the only thing that removes a take.

path
The story line as it reads now. One row per part, sibling takes as rings beside it, word counts down the right.
Start a story →
1667 · mapmap · path
━━ map ·  path   tree   mass the lantern keeper ━ depth 1–13 of 13 ━ 23 parts · 4 lines
                                                                                            
  ¶  1                           Maren lit the last lamp before t…    11w                  
  ¶  2                           Below the lantern-house, the inn…    11w                  
  ¶  3                         At the final bell a traveler arr…    14w                  
  ¶  4                           His coat held no water, though t…    14w                  
  ¶  5                         Maren saw the brass compass at h…    14w                  
  ¶  6                           The guests made room in the sile…    12w                  
  ¶  7                           He called himself Ashe, paid for…    14w                  
  ¶  8                     The coins were cold enough to mi…    12w                  
  ¶  9                           Upstairs, one of the five lanter…    12w                  
  ¶ 10                           Maren keeps the last lit lantern…    47w                  
  ¶ 11                         Maren counted the lanterns twice…    59w                  
  ¶ 12  ▸●  ‹ take 3/5 ›  He did not move toward the stair…    65w                  
  ¶ 13                           Outside, the storm leaned on the…   22w+  canon-storm    
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
                                                                                            
────────────────────────────────────────────────────────────────────────────────────────────
 MAP  path/all  the lantern… ·  canon-sto… · ¶12/13 m · a branch · ↑↓ depth · ←→ take · esc

No tracking. At all.

Nothing in here is watching you write.

Every line below describes code that does not exist. Go and check.

  • analyticsno library, no endpoint, no events
  • telemetrynothing is measured and sent
  • crash reportererrors go to a local log you can read
  • install idnothing identifies your machine
  • accountthere is nothing to sign in to

Every request the program makes goes to the endpoint you configured. Nothing comes to us, because there is no server of ours to send it to.

One exception: an optional update check, which ships off. Turned on, it reads a version number and tells you. It downloads nothing and replaces nothing.

  • No account, ever. Nothing to create, nothing to delete.
  • We never see your prose. It goes to the provider you chose, and their policy is the one that governs it.
  • Apache-2.0 source. Every claim on this page is one you can check.
Read the source →
1667 · settingswhere prose goes
  Maren keeps the last lit lantern-house on the Sorrow Cliff road. A                        
  three-day storm has closed the pass; the inn below is full of stranded                    
  travelers. One guest, calling himself Ashe, paid for oil he never burns                   
  and carries a compass that points at want, not north.                                     
        ┏━ settings ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓        
  ────                                                                                  
          ▸ theme            ‹ lantern ›                                                
  ── ¶      compose focus    [ off ]                                                    
  » ma                                                                                  
  Mare    ✓ revision 1 active                                                           
  and                                                                                   
  ever      provider         ‹ dry-run ›                                                
  'You      base URL                                                                   
  keep      Allow insecure HTTP (LAN)[ off ]                                            
            model                                                                      
  ── ¶      API key                                                                    
  » th      API key env                                                                
  He d      temperature      0.7                                                        
  the       max tokens       2,048                                                      
  deci      context window   32,768                                                     
  clif      cache policy     off · no controls · TTL none                               
  anyo      system prompt    Continue the story in its established voice.               
                                                                                        
  ── ¶  ↑↓ move · ←→ choose ·  next · s save · c check · esc close                     
  » co  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━        
  Outside, the storm leaned on the shutters like a patient animal. Maren                    
  wiped the same glass she had already wiped, watching the                                 
                                                                                            
    space continues · enter directs · n new story · m map · ? keys                         
 SETTINGS   the lantern keeper ·  canon-storm · ¶ 12/13 · 3/5       ch 3 · next ~884/32.8k 

Every destination the program knows about is on this panel, and you put it there. Captured in demo mode, so the connection reads dry-run.

Models

Your keys. Your prose style. Your machine.

1667 includes no model and rents you nothing. Point it at a provider you already pay, or at a model running on your own computer. The request goes straight there.

generation

temperature0.8
max output tokens2,048
context window32,768
cache policyoff

defaults, editable behind ,

  • OpenAI
  • Anthropic
  • OpenRouter
  • Ollama
  • LM Studio
  • llama.cpp
  • KoboldCpp
  • Custom endpoint

Your stories stay in plain text files on your computer. Your key goes in a private file that only you can read, never into the story folder.

Keys

Learn six. The rest find you.

These eight cover a whole writing session. There are about 40 in total and ? shows you the rest, but nothing below this line is needed to finish a chapter.

  • continueWrite the next part from here
  • directSay what happens next, then continue
  • flip takesMove between siblings of this part
  • movePrevious and next part
  • retakeAnother take on the same prompt
  • writeAdd a take in your own words
  • editOpen the part in the full-screen editor
  • mapCycle path, tree, and mass

and the program shows you the rest

1667 · keysevery key
                        Upstairs, one of the five lanterns went dark without spending its oil.                              
                                                                                                                            
        ┏━ keys · and what they do ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓         
                                                                                                                        
         ● MOVE  read and navigate         ● WRITE  make the next part         ● OPEN  panels and views                 
            ↑ ↓  previous · next row         space  continue this part              m  map of the whole story           
            ← →  flip between takes        enter i  type what happens next          f  facts kept for context           
          ⇧↑ ⇧↓  nudge the page a line           r  retake · same prompt            o  switch story · library           
        pgup ⌃u  page up                         R  retake · edit prompt         : ⌃p  command palette                  
        pgdn ⌃d  page down                       w  write a take yourself           ,  generation settings              
            g G  first part · last part          e  edit prose and prompt          ⌃g  wide context details             
            [ ]  chapter back · forward        y Y  copy part · whole line          ?  this key reference               
              u  undo take switch · break    ⌃↑ ⌃↓  past prompts, in direct       esc  close what is open               
                                                 n  start a new story               q  quit 1667                        
                                                                                                                        
                                           ● SHAPE  arrange what exists         ● MAP  while the map is open            
                                                 d  delete take and below           m  cycle path · tree · mass         
                                                 t  tag the line here               a  all takes · sketches             
                                               c C  chapters · end one here     enter  reroute node or sketch           
                                                 x  actions for this part           l  follow tree · open mass          
 ␠ con                                           p  show or hide directions         s  tree→mass · mass sorts           
 r ret                                           z  typewriter mode               d t  prune · tag · path               
 w wri                                           F  facts rail · auto or off                                            
                                                                                                                        
        ◦ chapter rows differ · the line under the story says how                                                       
        1667 v0.1.0 · drag selects · ctrl+c copies · esc closes                                                         
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━         
                                                                                                                            
                          space continues · enter directs · n new story · m map · ? keys                                   
 KEYS   the lantern keeper ·  canon-storm · part 12/13 · take 3/5 · 307 words                 qwen3-32b · local ✓ · v0.1.0 

What we didn't build

Left out on purpose.

Each of these was considered and turned down.

  • No telemetry

    No analytics, no crash reporter, no install id. There is no such code.

  • No cloud

    No sync, no server of ours. Stories never leave the folder they are in.

  • No ghost autocomplete

    Nothing is generated until you press a key that asks for it.

  • No chat sidebar

    Type an instruction, get a paragraph. There is no thread to scroll back.

FAQ

Questions worth answering plainly.

Does it write the book for me?

No. It writes a paragraph when you ask for one, in the direction you gave it, and then it stops and waits. You choose the take, you cut the line, you decide what the chapter is. The judgement stays yours.

What happens to the takes I don't use?

They stay. Every take is written to the tree the moment it exists, and moving to another one changes nothing about it. The map shows you all of them, including the lines you abandoned after a single paragraph. Only d removes a take.

Is anything collected about me?

No. There is no analytics code, no telemetry, no crash reporter and no install id in the source. Every request the program makes goes to the endpoint you configured, with one exception: an optional update check, which ships off. Turned on, it reads a version number and tells you. It downloads nothing.

Why 1667?

1,667 words a day for thirty days is fifty thousand, which is the pace that finishes a first draft. The number names that pace. Nothing in the program tracks whether you hit it.

Where does my writing live?

In a folder you chose. Run 1667 init in ~/book and that is your project. Export writes the selected story line to Markdown in the same place. Back it up like any other directory. There is no export step to be trapped behind.

Which models can I use?

Anything behind an OpenAI or Anthropic compatible endpoint. Presets ship for OpenAI, Anthropic, OpenRouter, Ollama, LM Studio, llama.cpp, KoboldCpp, and a custom endpoint. Keys are stored in a private file on your machine and sent only to the provider they belong to. A model running locally needs no key at all.

Do I need to be good at the terminal?

You need to be able to open one. After that it is arrow keys to move, space to continue, and ? for the rest. There is no shell scripting and no configuration file to hand-edit. Settings are a panel behind the comma key.

What does it cost?

Nothing. It is Apache-2.0 source with no paid tier, because there is no server to pay for. You pay whatever your model provider charges, directly to them, or nothing at all if you run a model locally.

1,667 words. Tonight.

Open a folder, run it, and write the next paragraph.

pre-release · no tagged release yetBuilding from source is the supported path today.

git clone https://github.com/1667-ai/1667.git
cd 1667 && npm ci
cd tui && bun install --frozen-lockfile && bun start

Needs Bun 1.3.14 or later, and Node 22. Works today.