此次劇本由鍾孟宏與作家朱嘉漢共同完成,鍾孟宏表示:「我們每週討論一整天,回去將討論的某場戲內容寫成各自的版本,之後再不斷磨合。」雖然全片對白非常多,但鍾孟宏要求劇本中沒有廢話,就連「啊」、「喔」等語助詞都務求精準,演員也不可擅自更改台詞。
編劇階段鍾孟宏就對主要演員心裡有底,包括張震、莫子儀、劉冠廷、金士傑、許瑋甯等都是,張震更是《停車》後,16年來一直想再合作的對象。「張震的臉有一種憂鬱、時代感與標誌性,可以代表某個階層的樣貌。」莫子儀則以溫柔、文靜且堅毅的形象,獲邀加入演出。張震與莫子儀都曾獲金馬影帝,此次也以《餘燼》分別入圍金馬獎最佳男主角與男配角。
豪華卡司中,鍾孟宏坦言:「我唯一擔心的就是金士傑不演。所有人都認為他很適合這個角色,但以他外省第二代的背景、又要演做過許多爛事的特務,我不確定他會不會很敏感。」幸好金士傑看過劇本與鍾孟宏見面後即點頭答應。片中有一場金士傑與小男孩的對手戲,讓表演經驗豐富的他在彩排後不見人影,後來才發現他關在房間裡哭。原來金士傑只要一講到片中對白,眼淚就不由自主流出來,還對鍾孟宏說:「導演,這太傷人了。」