@@ -133,17 +133,20 @@ export class StartWorkCommand extends QuickCommand<State> {
133133				} 
134134			} 
135135
136+ 			const  result  =  yield *  this . selectCommandStep ( state ) ; 
137+ 			if  ( result  ===  StepResultBreak )  continue ; 
138+ 			state . action  =  result . action ; 
139+ 
136140			await  updateContextItems ( this . container ,  context ) ; 
137141
138- 			if  ( state . counter  <  1  ||  state . item  ==  null )  { 
142+ 			if  ( state . counter  <  1  ||  ( state . item  ==  null   &&   ! state . action ) )  { 
139143				const  result  =  yield *  this . pickIssueStep ( state ,  context ) ; 
140144				if  ( result  ===  StepResultBreak )  continue ; 
141145				state . item  =  result ; 
142146			} 
143147
144- 			assertsStartWorkStepState ( state ) ; 
145- 
146148			if  ( state . action  ==  null  &&  this . confirm ( state . confirm ) )  { 
149+ 				assertsStartWorkStepState ( state ) ; 
147150				const  result  =  yield *  this . confirmStep ( state ,  context ) ; 
148151				if  ( result  ===  StepResultBreak )  { 
149152					state . item  =  undefined ! ; 
@@ -153,8 +156,8 @@ export class StartWorkCommand extends QuickCommand<State> {
153156				state . action  =  result ; 
154157			} 
155158
156- 			const  issue  =  state . item . item . issue ; 
157- 			const  repo  =  await  getOrOpenIssueRepository ( this . container ,  issue ) ; 
159+ 			const  issue  =  state . item ? .item ? .issue ; 
160+ 			const  repo  =  issue   &&   ( await  getOrOpenIssueRepository ( this . container ,  issue ) ) ; 
158161
159162			if  ( typeof  state . action  ===  'string' )  { 
160163				switch  ( state . action )  { 
@@ -166,7 +169,7 @@ export class StartWorkCommand extends QuickCommand<State> {
166169								state : { 
167170									subcommand : 'create' , 
168171									repo : repo , 
169- 									name : slug ( `${ issue . id }  -${ issue . title }  ` ) , 
172+ 									name : issue  ?  slug ( `${ issue . id }  -${ issue . title }  ` )  :  undefined , 
170173									suggestNameOnly : true , 
171174									suggestRepoOnly : true , 
172175								} , 
@@ -183,6 +186,20 @@ export class StartWorkCommand extends QuickCommand<State> {
183186		return  state . counter  <  0  ? StepResultBreak  : undefined ; 
184187	} 
185188
189+ 	private  * selectCommandStep ( state : StepState < State > ) : StepResultGenerator < {  action ?: StartWorkAction  } >  { 
190+ 		const  step  =  createPickStep ( { 
191+ 			placeholder : 'Start work by creating a new branch' , 
192+ 			items : [ 
193+ 				createQuickPickItemOfT ( 'Create a branch' ,  { 
194+ 					action : 'start' , 
195+ 				} ) , 
196+ 				createQuickPickItemOfT ( 'Create a branch from an issue' ,  { } ) , 
197+ 			] , 
198+ 		} ) ; 
199+ 		const  selection : StepSelection < typeof  step >  =  yield  step ; 
200+ 		return  canPickStepContinue ( step ,  state ,  selection )  ? selection [ 0 ] . item  : StepResultBreak ; 
201+ 	} 
202+ 
186203	private  async  * confirmLocalIntegrationConnectStep ( 
187204		state : StepState < State > , 
188205		context : Context , 
0 commit comments